Выборка непереведенных категорий

LapsOV

Новичок
Выборка непереведенных категорий

Есть две таблицы.
Первая:
id | enabled

Вторая:
id | id_lang | caption

Т.е. в первой таблице находятся, например, характеристики данной категории, а ее текстовое представление на разных языках находится во второй таблице (поле caption)

У меня проблема: как составить запрос, который выбирает те id из первой таблицы, для которых либо нет соответствующей строки во второй таблице?

Другими словами, необходимо выбрать НЕпереведенные категории.
 
LapsOV
1. вложенный SELECT
SELECT a.id FROM Первая
WHERE a.id NOT IN
(
SELECT DISTINCT(b.id) FROM Вторая as b
)
2.
SELECT a.id FROM Первая as a
LEFT JOIN Вторая as b ON a.id=b.id
WHERE IS NOT NULL b.id
не уверен, что второй вариант будет работать - проверь..
 

LapsOV

Новичок
Второй вариант однозначно не работает...
а вот первый... не пойму как составить этот запрос
 
попробуй вотрой, имхо, он должен быть быстрее...

-~{}~ 29.11.05 15:29:

есть :)
PHP:
SELECT DISTINCT(a.id)
FROM Певая as a 
    LEFT JOIN Вторая as b 
        ON a.id = b.id
WHERE b.id IS NULL
надо было всего "IS NULL" поменять местами с самим выражением :))
~ сорри, перепутал "IS NOT NULL" => "IS NULL"


ага, все правильно - этот вариант - быстрее... :)
 
Сверху