我有以下表格:
Table person:
id | name |
---------------+
1 | adam |
2 | chris |
3 | nancy |
4 | nathalie |
5 | holy |
Table relation:
id | person | parent |
---+--------+--------+
1 | 2 | 1 |
2 | 2 | 3 |
3 | 1 | 4 |
4 | 5 | 2 |
我想要一个产生类似如下内容的查询:
person | parent |
-------+----------+
chris | adam |
chris | nancy |
adam | nathalie |
holy | chris |
我不知道如何达到预期的结果。
最佳答案
relation
表已经显示了人们的 parent 是谁。您只需将其连接到 person
表(两次)即可将这些 ID 转换为名称:
SELECT p1.name, p2.name
FROM relation r
JOIN person p1 ON p1.id = r.person
JOIN person p2 ON p2.id = r.parent
关于sql - Postgresql 在同一个表中选择和子选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298851/