-2
旧结果甲骨文行要在列
Column_Name
A
B
C
D
新要求的结果
Column_Name
'A', 'B', 'C', 'D'
限制,(Count是未知的。可能是A,B,C或A,B,C,d,E等等。
旧结果甲骨文行要在列
Column_Name
A
B
C
D
新要求的结果
Column_Name
'A', 'B', 'C', 'D'
限制,(Count是未知的。可能是A,B,C或A,B,C,d,E等等。
字面上考虑你的问题,你有一个查询返回与行的可变数量的单个列,说
select 'A' column_name from dual union all
select 'B' column_name from dual union all
select 'C' column_name from dual union all
select 'D' column_name from dual
并且您需要将结果放在单个行中,其中包含由原始查询返回的值的串联的单个列,包含''
;在你的榜样,您需要:
Column_Name
'A', 'B', 'C', 'D'
如果这是正确的,你可能只需要listagg
:
select listagg('''' || column_name || '''', ', ') within group (order by column_name)
from (
select 'A' column_name from dual union all
select 'B' column_name from dual union all
select 'C' column_name from dual union all
select 'D' column_name from dual
) yourQuery
如果您正在寻找使每个后面的某列所有值的列表其他你可以使用LISTAGG
。
例如:
SELECT LISTAGG(Column_Name, ', ') WITHIN GROUP (ORDER BY Column_Name) "Column_Listing"
FROM TableA;
甲SQL查询返回具有固定数量定义的列的结果集。你可以做到这一点,但它需要动态SQL。 –
如果你正在寻找每一行作为自己的列,@GordonLinoff是正确的。如果您只是想将这些值合并到一个字段中,那么'LISTAGG'可能适合您。 –