如何选择父标识的分层表?
我有一张这样的桌子

+-----------+------------+-------------+
| id        | parent_id  | name        |
+-----------+------------+-------------+
|1          | 0          | a           |
+-----------+------------+-------------+
|2          | 1          | a1          |
+-----------+------------+-------------+
|3          | 0          | b           |
+-----------+------------+-------------+
|4          | 3          | b1          |
+-----------+------------+-------------+
|5          | 3          | b2          |
+-----------+------------+-------------+

我想把桌子摆成这样
+-----------+------------+-------------+
| id        | name       | parent      |
+-----------+------------+-------------+
|1          | a          | NULL        |
+-----------+------------+-------------+
|2          | a1         | a           |
+-----------+------------+-------------+
|3          | b          | NULL        |
+-----------+------------+-------------+
|4          | b1         | b           |
+-----------+------------+-------------+
|5          | b2         | b           |
+-----------+------------+-------------+

可以这样创建select吗?任何人知道如何在Postgre或MySQL中创建这个,请给我一些建议,

最佳答案

简单使用Aleft join

select t1.id, t1.name, t2.name as parent
from yourtable t1
left join yourtable t2
on t1.parent_id = t2.id
order by t1.id

10-04 16:34
查看更多