我的数据格式如下:
cons_Type COLUMN_NAME
P (COL1)
R (COL6_REFERENCE)
R (COL6_REFERENCE)
U (COL5_COM_UNIQUE)
U (COL3_UNIQUE,COL4_COM_UNIQUE)
最后,我想list_gg column_name,cons_type明智的cons_type将在哪里 要么' P'或者' U'仅
其他cons_type如' R'不能使用LISTAGG()函数聚合列表。
并且最终预期输出必须采用以下格式。
cons_Type COLUMN_NAME
P (COL1)
R (COL6_REFERENCE)
R (COL6_REFERENCE)
U (COL3_UNIQUE,COL4_COM_UNIQUE),(COL5_COM_UNIQUE)
答案 0 :(得分:2)
尝试:
select
"cons_Type",
"COLUMN_NAME"
from tbl
where "cons_Type" not in ('P', 'U')
union all
select
"cons_Type",
LISTAGG("COLUMN_NAME" , ',') WITHIN GROUP (ORDER BY "cons_Type")
from tbl
where "cons_Type" in ('P', 'U')
group by "cons_Type"
order by "cons_Type"
演示 sqlfiddle