0
Oracle數據庫11g企業版版本11.2.0.2.0 - 64位生產。運行collect命令後應該如何繼續?
我有一個表格,格式如下。
Number User Value
-------------------
1 A 25
1 B 28
2 C 30
2 D 35
這就是我想要的:
Number User Value
-------------------
1 A,B 25,28
2 C,D 30,35
我試圖用一個LISTAGG,但它給了我ORA-01489: result of string concatenation is too long.
這是LISTAGG命令:
SELECT "Number",
LISTAGG ("user", ', ') WITHIN GROUP (ORDER BY "user") "user",
LISTAGG ("value", ', ') WITHIN GROUP (ORDER BY "user") VALUE
FROM table
GROUP BY "Number";
我不能創建鍵入,因爲我沒有特權。在其他類似問題之一中,有人建議使用collect。所以使用這個:
SELECT number, CAST (COLLECT (USER) AS SYS.DBMSOUTPUT_LINESARRAY)
FROM emp
GROUP BY number;
我不知道該從哪裏出發。當我運行這個查詢時,我得到這個列:
CAST(COLLECT(USER)ASSYS
-----------------------
COLLECTION
COLLECTION
COLLECTION
正如你可以看到我的sql知識是非常小的。任何幫助將非常感激!