2010-12-06 52 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