我需要进行一个查询,我得到结果并按逗号分隔一行。
例如,我有这个查询:
SELECT
SIGLA
FROM
LANGUAGES
此查询返回以下结果:
SIGLA
ESP
EN
BRA
我需要通过这种方式将这个结果放在一行:
SIGLA
ESP,EN,BRA
任何人都可以帮助我吗?
谢谢!
答案 0 :(得分:2)
SELECT LISTAGG(SIGLA, ', ') WITHIN GROUP (ORDER BY SIGLA) " As "S_List" FROM LANGUAGES
应该是您需要的listagg序列
答案 1 :(得分:1)
试
SELECT LISTAGG( SIGLA, ',' ) within group (order by SIGLA) as NewSigla FROM LANGUAGES
答案 2 :(得分:1)
如果要按照Oracle生成行的顺序将值组合在一起,那么:
SELECT LISTAGG( SIGLA, ',' ) WITHIN GROUP ( ORDER BY ROWNUM ) AS SIGLA
FROM LANGUAGES;
如果您想按字母顺序排序,请将ORDER BY ROWNUM
替换为ORDER BY SIGLA
(或curiously,ORDER BY NULL
)。