3
我需要在oracle的表中結合不同行的值。例如,考慮這個表如何在oracle的表中結合不同行的文本
我想要的輸出
HI TOM,
ITS COLD,
PL- SQL
正如你所看到的列組合上QID並用空格隔開
我需要在oracle的表中結合不同行的值。例如,考慮這個表如何在oracle的表中結合不同行的文本
我想要的輸出
HI TOM,
ITS COLD,
PL- SQL
正如你所看到的列組合上QID並用空格隔開
你需要做這樣的事情
SELECT qid, wmsys.wm_concat(answer) CONCAT
FROM t
GROUP BY qid;
另外,如果你在11g2喲ü可以使用LISTAGG功能外,還允許排序:
SELECT qid, listagg(answer,' ') WITHIN GROUP(ORDER BY ROWNUM)
FROM t
GROUP BY qid
最後,如果你不是在11g2和你沒有通過@steve建議wm_contact功能,你可以使用以下命令:
SELECT qid,
rtrim(xmlagg(xmlelement(e, answer || ' ')).extract('//text()'), ' ')
FROM t
GROUP BY qid
酷..就像一個魅力:) – sajad
請注意,不能保證你得到'HI TOM'或'TOM HI'。您應該添加/使用另一列以保持結果行中的順序穩定。 –
沒有排序,這是沒有解決方案。 –