你好。 我正在开发一个将行转换为单行的SQL。
例如,
select key, value from AAA;
它可能带来结果:
==================
Key | Value
==================
A1 | P1
A2 | P3
... | ...
An | Pn
但是,我想把它变成下面的
=======================================================
C1 | C2 | C3 | C4 | ... | ... | Cn*2-1 | Cn*2
=======================================================
A1 | P1 | A2 | P2 | ... | ... | An | Pn
* C1,C2 ......是列名。
你有什么闪亮的想法吗?
答案 0 :(得分:0)
不确定你的C1 ...... Cn来自哪里。此示例涵盖另一部分:A1 P1 ...:
SELECT LISTAGG(single_row, ' | ') WITHIN GROUP (ORDER BY single_row) AS final_val
FROM
(
SELECT Keys||' '||Val single_row
FROM
(
SELECT 'A1' Keys, 'P1' Val FROM dual
UNION ALL
SELECT 'A2', 'P3' FROM dual
UNION ALL
SELECT 'A3', 'P4' FROM dual
)
)
/
Output:
A1 P1 | A2 P3 | A3 P4