sql древовидная структура
имеется таблица, в которой хранится дерево
id INT AUTO_INCREMENT
parent_id INT
name VARCHAR(255)
элементы выбираются по-разному
SELECT * FROM `tree` WHERE `id`=1;
SELECT * FROM `tree` WHERE `parent_id`=3;
SELECT * FROM `tree` WHERE `id`=4 OR `id`=6 OR `id`=15;
можно ли включить в выборку для каждого элемента количество потомков?
SELECT t1.*, count(t2.id)
FROM tree t1 LEFT JOIN tree t2 ON t1.id = t2.parent_id
WHERE ...
GROUP BY t1.id; (или t2.parent_id)
Цитата: LM(AL/M)
Такой вариант не подойдёт ?
SELECT t1.*, count(t2.id)
FROM tree t1 LEFT JOIN tree t2 ON t1.id = t2.parent_id
WHERE ...
GROUP BY t1.id; (или t2.parent_id)
SELECT t1.*, count(t2.id)
FROM tree t1 LEFT JOIN tree t2 ON t1.id = t2.parent_id
WHERE ...
GROUP BY t1.id; (или t2.parent_id)
сенкс
то,что надо!