Sql 在oracle中将列转换为行
我有如下表结构,需要如下所述的输出 表:Sql 在oracle中将列转换为行,sql,oracle,pivot,Sql,Oracle,Pivot,我有如下表结构,需要如下所述的输出 表: A B CUSTOMER_TYPE_ID 4 CUSTOMER_TYPE_ID 3 CUSTOMER_TYPE_ID 2 CUSTOMER_TYPE_ID 1 CUSTOMER_TYPE_ID 0 答复: '4','3','2','1','0' 怎么做 如前所述,这不是轴心,而是聚合字符串连接。Oracle函数是LISTAGG(): 编辑: 如果要在值周围加单引号: select li
A B
CUSTOMER_TYPE_ID 4
CUSTOMER_TYPE_ID 3
CUSTOMER_TYPE_ID 2
CUSTOMER_TYPE_ID 1
CUSTOMER_TYPE_ID 0
答复:
'4','3','2','1','0'
怎么做 如前所述,这不是轴心,而是聚合字符串连接。Oracle函数是
LISTAGG()
:
编辑:
如果要在值周围加单引号:
select listagg('''' || b || '''', ',') within group (order by b desc) as b
from t
group by a;
您使用的oracle版本是什么?11g,但这些值是动态的…但这将只返回一列,我不确定OP是什么meant@sagi顺便说一句,答案与作者的答案相同。我同意,答案是正确的@agent5566,但我需要的答案是“4”、“3”、“2”、“1”、“0”…?@rohansr002只需修改查询
…”。“”| | listagg(b),“,”)| |“…
Hey@agent5566,感谢它的工作,我已经更改了内部值,即内部查询表中的值。
select listagg('''' || b || '''', ',') within group (order by b desc) as b
from t
group by a;