Достать всё одним запросом, без циклов
Есть таблица с категориями/подкатегориями. Необходимо достать id всех категорий у которых нету дочерних категорий.
Можно конечно в цикле сделать, но не хотелось-бы грузить базу запросами, если можно всё одним запросом сделать.
Вот структура:
select t.id from table1 t
where t.id not in (select parent_id from table1 t1);
либо
select t.id from table1 t
where t.id not in (select parent_id from table1 t1 where t1.parent_id = t.id);
Ага, варианты рабочие :) Действительно просто. Никогда до сих пор не работал с подзапросами :)
Теперь задача усложняется. Сколько ни искал выход - так и не придумал ничего кроме рекурсии.
Вобщем на входе имеем id категории. Из неё нужно достать id-шки подкатегорий, которые не являются родителями. Тут уже немного сложнее..
Ну если в mysql нет иерархических запросов, то только через хранимую процедуру или на клиенте.
А что если на сервере в скрипте? (php). Собсна так и сделал пока что...
На сервере в скрипте можно...
Спасибо всем. Вопрос можно считать исчерпанным