我有一个名为"category"的mysql表.基本结构看起来像这样 -
------ -------- ------
cat_id cat_name parent
------ -------- ------
1 test1 NULL
2 test2 NULL
3 test3 2
4 test4 1
5 test5 3
Run Code Online (Sandbox Code Playgroud)
现在我希望在单个查询中具有父类别名称(不仅是id)的所有类别数据.那可能吗?我可以通过在while循环中使用第二个查询(获取子的父名称)并将数据整体合并来实现.但是用单个查询可以做到这一点吗?
使用parent列链接到父级的cat_id,自己加入表.
SELECT c1.cat_id as childID, c1.cat_name ChildName, c2.cat_name as ParentName
from category c1
LEFT OUTER JOIN category c2
ON c1.parent = c2.cat_id
Run Code Online (Sandbox Code Playgroud)
NULL),LEFT
OUTER JOIN所以我放了一个,所以这些行也会被显示出来.如果您不想这样,请使用JOIN而不是LEFT OUTER JOIN.NULL使用COALESCE.WHERE c2.cat_name = 'test2'| 归档时间: |
|
| 查看次数: |
5233 次 |
| 最近记录: |