我需要做一个查询,我得到的结果,并放在一个行,每个逗号分隔。组查询行导致一个结果
例如,我有这个疑问:
SELECT
SIGLA
FROM
LANGUAGES
该查询返回下面的结果:
SIGLA
ESP
EN
BRA
我需要得到这个结果在一个单行那样:
SIGLA
ESP,EN,BRA
谁能帮助我?
谢谢!
我需要做一个查询,我得到的结果,并放在一个行,每个逗号分隔。组查询行导致一个结果
例如,我有这个疑问:
SELECT
SIGLA
FROM
LANGUAGES
该查询返回下面的结果:
SIGLA
ESP
EN
BRA
我需要得到这个结果在一个单行那样:
SIGLA
ESP,EN,BRA
谁能帮助我?
谢谢!
尝试
SELECT LISTAGG(SIGLA, ',') within group (order by SIGLA) as NewSigla FROM LANGUAGES
你没有做完整的LISTAGG语法? SELECT LISTAGG(SIGLA, '')在组(ORDER BY SIGLA)“作为 ”S_List“ 从语言 –
'ORA-02000:缺少内更正keyword' – MT0
请尽量 –
SELECT LISTAGG(SIGLA, ', ') WITHIN GROUP (ORDER BY SIGLA) " As "S_List" FROM LANGUAGES
应该是如果你想要得到的值,甲骨文产生了行,那么顺序组合在一起,你需要
的LISTAGG序列:
SELECT LISTAGG(SIGLA, ',') WITHIN GROUP (ORDER BY ROWNUM) AS SIGLA
FROM LANGUAGES;
如果您要按字母顺序排列,请用替换(或,curiously,ORDER BY NULL
)。
您正在使用哪个Oracle版本? –