我有这样的结果
Select a.Header1, a.Header2, a.Header3, b.header4,
From a
Join b on a.id = b.id
给出这个结果
Head1 Head2 Head3 Head4
1 A 1 AA
1 A 1 BB
1 A 1 CC
1 A 2 AA
1 A 2 CC
1 A 2 DD
1 A 2 EE
是否有可能
Head1 Head2 Head3 Head4
1 A 1 AA BB CC
1 A 2 AA CC DD EE
Head4被分成不同的列
答案 0 :(得分:2)
不完全是。您可以使用listagg()
函数将值连接到一个列中,然后可以在事后进行拆分。例如:
SELECT
a.Header1,
a.Header2,
a.Header3,
listagg(b.Header4, ', ') WITHIN GROUP (ORDER BY b.Header4) AS Header4
FROM a
JOIN b ON a.id = b.id
GROUP BY
a.Header1,
a.Header2,
a.Header3
会屈服:
Header1 Header2 Header3 Header4
1 A 1 AA, BB, CC
1 A 2 AA, CC, DD, EE