我有一个项目表,每个项目都可以是任何其他项目的子项目。示例表
mysql> select * from projects;
+----+-----------+------+
| id | parent_id | name |
+----+-----------+------+
| 1 | NULL | foo |
| 2 | NULL | bar |
| 3 | 2 | baz |
+----+-----------+------+
我想用父项目的名称替换第二列(parent_id),所以在我的情况下第3行应该成为
| 3 | bar | baz |
+----+-----------+------+
对此有什么疑问?
答案 0 :(得分:4)
SELECT A.id, B.name ParentName, A.name
FROM projects A
LEFT JOIN projects B
ON A.parent_id = B.id