gpt4 book ai didi

sql - 如何使用 oracle 语句从一组中生成一行

转载 作者:行者123 更新时间:2023-12-02 08:24:45 27 4
gpt4 key购买 nike

有如下一组。

 refno | col1 | col2
---------------------
1 | a | aa
1 | b | bb
1 | c | cc
1 | d | dd

我想使用 Oracle SQL 将它变成这样:

refno   a     b    c    d    
1 aa bb cc dd

怎么做?

最佳答案

您可以使用 PIVOT

WITH sel AS
(SELECT 1 refno , 'a' col1 , 'aa' col2 FROM dual
UNION ALL
SELECT 1 , 'b' , 'bb' FROM dual
UNION ALL
SELECT 1 , 'c' , 'cc' FROM dual
UNION ALL
SELECT 1 , 'd' , 'dd' FROM dual
)
SELECT *
FROM sel
PIVOT
(max(col2)
FOR col1 IN ('a','b','c','d'))

但您必须手动指定 col1 值 - FOR col1 IN ('a','b','c','d')

更多 - herehere

关于sql - 如何使用 oracle 语句从一组中生成一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33257193/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com