我有两个分类表的结构是这样的
category:- Id Name
category_detail: category_Id parent_Id
日期类似于此类别
1 Laptop
2 Mobile
3 HP
4 LG
5 Nokia
6 Sony
7 DELL
category_det
1 0
2 0
3 1
4 2
5 2
6 2
7 1
I want result like this
1 Laptop
3 HP
7 DELL
2 Mobile
4 LG
5 Nokia
6 Sony
SELECT `Id`,`Name` FROM `category`
INNER JOIN category_det ON category_det.category_Id = category.Id
COALESCE(category_det.parent_Id, category.Id), cateory.Id
但这并没有按要求返回。谢谢
1条答案
按热度按时间ih99xse11#
这里的技巧是确定一个自定义排序参数。如果
parent_id
值为0,我们可以简单地使用category_id
要排序的值;否则parent_id
价值观。这是因为parent_id
其他级别的值与category_id
为了父母。我们还将使用多个级别
Order By
,使用category_id
.你可以这样做: