Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте - помогите реализовать запрос к такой таблице:
Id Name ParentId
1 Легковые автомобили NULL
2 Грузовые и коммерческие NULL
3 Спецтехника NULL
4 Легкие коммерческие 2
5 Грузовики 2
6 Седельные тягачи 2
7 Автобусы 2
8 Прицепы 2
9 Автокраны 3
10 Экскаваторы 3
11 Самопогрузчики 3
12 Бульдозеры 3
13 Сельскохозяйственная 3
14 Строительная 3
15 Автопогрузчики 3
16 Коммунальная 3
как видите - первые 3 имеют родителя NULL. Это говорит о том, что это категории. У остальных - где != NULL - их дети (подкатегории). ID у трёх верхних родителей - 1 2 3. Соответственно чтобы была связка - ParentId у подкатегорий - тоже 2 или 3 (1 нет тк Легковые авто хоть и категория, но подкатегорий не имеет.)
Мне просто надо составить запрос (не вложенный), который выведет нечто типа:
Легковые автомобили
Грузовые и коммерческие
- Спецтехника
- Легкие коммерческие
- Грузовики
- Седельные тягачи
- Автобусы
- Прицепы
Спецтехника
- Автокраны
- Экскаваторы
- Самопогрузчики
ну и т.д.
ОЧЕНЬ БУДУ БЛАГОДАРЕН! Запарился уже!
Отредактированно alexander666 (09.12.2012 20:19:13)
Неактивен
select .. from
(select Id, Name from `таблица` where ParentId is null) t1 left join
(select Id, Name, ParentId from `таблица` where ParentId is not null) t2 on t1.id=t2.ParentId
order by t1.id;
Неактивен
Спасибо, но запрос вложенный - а это не айс.
Неактивен