SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.12.2012 20:17:00

alexander666
Участник
Зарегистрирован: 28.01.2009
Сообщений: 7

Категории и подкатегории в 1 таблице

Здравствуйте - помогите реализовать запрос к такой таблице:

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)

Неактивен

 

#2 09.12.2012 21:22:42

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Категории и подкатегории в 1 таблице

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;

Неактивен

 

#3 10.12.2012 19:25:47

alexander666
Участник
Зарегистрирован: 28.01.2009
Сообщений: 7

Re: Категории и подкатегории в 1 таблице

Спасибо, но запрос вложенный - а это не айс.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson