Выборка из таблицы всех 'детей' не являющихся родителями ?

sssr

Новичок
Выборка из таблицы всех 'детей' не являющихся родителями ?

Как правильно составить запрос на выборку ?

У меня есть таблица хранящая дерево :
id - pid - name

как мне получить всех "детей" не являющихся "родителями" без использования временной таблицы ?
у меня созрел алгоритм но как его реализовать - не знаю.
алг. = выбрать все записи для которых их ID не встречает соответствия для PID.

вот написал :
select * from tbl where id in (select pid from tbl ) -
а возвращает пусто почему мне не ясно.

Please Help!
 

.des.

Поставил пиво кому надо ;-)
MySQL >=4.1.x
[sql]SELECT * FROM tree WHERE id NOT IN (SELECT pid FROM tree)[/sql]


any MySQL
[sql]SELECT t1.* FROM tree t1 LEFT JOIN tree t2 ON t1.id=t2.pid WHERE t2.id IS NULL[/sql]
 
Сверху