【发布时间】:2020-03-24 19:42:07
【问题描述】:
我正在尝试将 Oracle 语句中的行转换为列。我一直在努力阅读,我想我需要的是 PIVOT。但是从无数的例子中我无法弄清楚我需要写什么。
我有两张桌子,一张是人的,一张是关系的。父母各有一个对孩子的引用,因此两个父母将是关系表中的两行。
人员表:
id name
1 John Doe
2 Jane Doe
3 Johnny Doe
关系表:
person_1_id person_2_id
1 3
2 3
所以如果我运行以下 SQL:
SELECT child.id AS child_id, r.person_1_id AS parent_id
FROM person child
JOIN relation r ON r.person_2_id = child.id;
我得到以下输出:
child_id parent_id
3 1
3 2
我将如何获得输出:
child_id parent_1_id parent_2_id
3 1 2
我正在运行 Oracle 12c。
【问题讨论】: