-1

我想获得一组邮件 ID,但在我的查询中,这没有被正确解析为单行。请帮我解决这个问题。

    SELECT LISTAGG ( EMAIL) WITHIN GROUP (ORDER BY EMAIL) EMAIL1 FROM USER  
WHERE ID IN (107) GROUP BY EMAIL   

电流输出:

abdul@eetmx.com
joseph@eetmx.com
ranjith@eetmx.com

预期输出:

abdul@eetmx.com,joseph@eetmx.com,ranjith@eetmx.com
4

1 回答 1

3

您正在分组,EMAIL这就是为什么它们最终出现在不同的行上。尝试分组,ID而不是像:

SELECT LISTAGG ( EMAIL, ',') WITHIN GROUP (ORDER BY EMAIL) EMAIL1 
FROM USER
WHERE ID IN (107) 
GROUP BY ID 

有关工作示例,请参阅此SQL Fiddle

附带说明USER的是 ANSI 和 Oracle SQL 中的保留字,不应用作表名。

于 2013-10-28T13:56:57.207 回答