2016-03-15 93 views
0

我需要做一个查询,我得到的结果,并放在一个行,每个逗号分隔。组查询行导致一个结果

例如,我有这个疑问:

SELECT 
    SIGLA 
FROM 
LANGUAGES 

该查询返回下面的结果:

SIGLA

ESP 
EN 
BRA 

我需要得到这个结果在一个单行那样:

SIGLA

ESP,EN,BRA 

谁能帮助我?

谢谢!

+1

您正在使用哪个Oracle版本? –

回答

1

尝试

SELECT LISTAGG(SIGLA, ',') within group (order by SIGLA) as NewSigla FROM LANGUAGES 
+3

你没有做完整的LISTAGG语法? SELECT LISTAGG(SIGLA, '')在组(ORDER BY SIGLA)“作为 ”S_List“ 从语言 –

+0

'ORA-02000:缺少内更正keyword' – MT0

+0

请尽量 –

2
SELECT LISTAGG(SIGLA, ', ') WITHIN GROUP (ORDER BY SIGLA) " As "S_List" FROM LANGUAGES 

应该是如果你想要得到的值,甲骨文产生了行,那么顺序组合在一起,你需要

1

的LISTAGG序列:

SELECT LISTAGG(SIGLA, ',') WITHIN GROUP (ORDER BY ROWNUM) AS SIGLA 
FROM LANGUAGES; 

如果您要按字母顺序排列,请用替换(或,curiouslyORDER BY NULL)。