2010-12-06 49 views
0

具有sql例如如下所示,导致一些行具有一个值。 我搜索了不同于SELECT * FROM some_sql的sql,其结果是一行以逗号分隔的值。选择sql结果的反转作为字符串列表


WITH some_sql AS (
    SELECT 1 FROM DUAL 
    UNION 
    SELECT 2 FROM DUAL 
) 
SELECT * FROM some_sql 

此SQL导致两行具有值1和2。 我SEACH导致1,2-而不改变“some_sql”的代码的SQL。

+0

你们是不是来连接多行考虑到一个字符串的值,行数不知道提前? – Tim 2010-12-06 13:46:08

+0

是的。我期望任何行数高达约10 – 2010-12-08 06:00:33

回答

2

SICE你是11G,你可以使用LISTAGG

WITH some_sql AS (
    SELECT 1 x FROM DUAL 
    UNION 
    SELECT 2 x FROM DUAL 
) 
SELECT LISTAGG(x, ',') WITHIN GROUP(ORDER BY x) FROM some_sql 
+0

+ 2非常好的答案,只有我才意识到它的10克DB与11g驱动程序;-( – 2010-12-06 14:21:01