我有一张类似
的表格id,parentId,name
1,null,first
2,null,second
3,1,第一个孩子
我想进行查询,以便我可以使用看起来像
的行结束1,null,first
2,null,second
3,首先,第一个孩子
所以基本上像
SELECT id, (SELECT name FROM pages WHERE id=parentId), name FROM pages
当然显然查询很糟糕。
答案 0 :(得分:2)
您可以尝试以下内容,它仅限于父级和子级两个级别。 它不适用于3级或更多级别,例如。父 - >儿童安全>儿童
SELECT Parent.ID,
Child.name,
Parent.Name
FRom yourTable as Parent LEFT JOIN
yourTable as Child On Parent.ParentID = Child.ID
答案 1 :(得分:1)
尝试:
select id, parent = null, name from pages where parentid is null
union all
select id, parent = top.name, name = sub.name
from pages sub
join pages top on sub.parentid = top.id