我有一个表有category_id和parent_category_id . 如何使用SQL查询获得1个类别和5个子类别 .
假设表名是:Category
----------------------------------------------------------------
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 回答
由于MySQL不支持递归查询/ CTE,因此您必须模拟它(这不是简单的说法) .
这是关于这个主题的优秀教程:
http://explainextended.com/2009/03/17/hierarchical-queries-in-mysql/
我将有正确的不在这里复制代码:)
对于SQL Server,您可以使用WITH查询来获取完整路径(此处更多http://msdn.microsoft.com/en-us/library/ms175972.aspx) .