Sql 如何使用oracle语句从1个组中生成一行
下面是一个小组Sql 如何使用oracle语句从1个组中生成一行,sql,oracle,grouping,Sql,Oracle,Grouping,下面是一个小组 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
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指定col1
值-在('a','b','c','d')
更多