Есть таблица test_table, в которой 3 поля: *id(int), name(text), parent_id(int). Пример заполнения таблицы:
cfcd2
->d3d94
->6512b
->c74d9
->a5771
->4e732
->6ea9a
->d6459
c4ca4
->c20ad
->c51ce
->3c59d
->37693
->aab32
c81e7
eccbc
->67c6a
a87ff
Что-то недопонимаю, честно говоря. Мой запрос?
select t1.* from `test_table` t1 left join `test_table` t2 on t2.id=t1.parent left join `test_table` t3 on t3.id=t2.parent where (t1.parent>0)
Забрать записи с 2мя старшими родителями у меня получается, а вот чтобы они при этом еще и без потомков были, вот тут проблема возникла... Пытался к where добавить дополнительное условие с запросом ((select count(t4.*) from test_table where (t4.parent=t1.id))=0) , но мускуль не пускает :(
В общем, хелп ми, пожалуйста :)