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

  • Автор темы Автор темы sssr
  • Дата начала Дата начала

sssr

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

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

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

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

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

Please Help!
 
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]
 
Сверху