SQL-запрос для поиска категории и подкатегории - PullRequest
1 голос
/ 24 октября 2011

У меня есть таблица, в которой есть category_id и parent_category_id.Как я могу получить 1 категорию и 5 подкатегорий с помощью SQL-запроса.

Предположим, имя таблицы: Категория

----------------------------------------------------------------
Category ID    |       Parent ID  |     Name     
---------------------------------------------------------------- 
   1           |         NULL     |     Electronics    
   2           |          1       |     Computer   
   3           |          1       |     Calculator   
   4           |          1       |     Mobile
   5           |         NULL     |     Four Wheeler
   6           |          5       |     Cars
   7           |          5       |     Trucks
   8           |          5       |     Jeep
   9           |          5       |     Van

Ответы [ 2 ]

2 голосов
/ 25 октября 2011

Поскольку MySQL не поддерживает рекурсивные запросы / CTE, вам придется эмулировать это (что, скажем, не так просто).

Вот отличный учебник по этому вопросу:

http://explainextended.com/2009/03/17/hierarchical-queries-in-mysql/

Я буду порядочен, если не скопирую код здесь:)

0 голосов
/ 24 октября 2011

Для SQL Server вы можете использовать запрос WITH, чтобы получить полный путь (подробнее здесь http://msdn.microsoft.com/en-us/library/ms175972.aspx).

...