作者dontbirdme (披著狼皮的羊)
看板Database
標題[SQL ] DB2將多列資料轉成一筆Column的做法...
時間Sat Mar 16 22:37:31 2019
(針對
SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
資料庫名稱:DB2
資料庫版本:未知
內容/問題描述:
小弟最近到新公司,才知道公司還有資料是存在DB2上
因為小弟只用過Oracle & MS-SQL
完全不懂DB2語法,對此感到很頭痛
現在有個需求,是要將多行的資料併成一筆Column
EX. 原資料有三行如下:
DataTp
A
B
C
要將之合併成一筆 "A,B,C" 的字串
簡單說就是類似 MS-SQL 的 for xml path 的功能
請問有辦法在一個語法做到嗎?請大家幫忙~ Q_Q
PS. 因為資料是存在第三方,透過web service 存取的
無法寫成 procedure,所以不適用較複雜的語法....
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.8.9
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1552747056.A.928.html
→ olycats: 沒用過DB2但有查到這兩種方法,請問可行嗎? 03/20 13:18
→ prawinra: 查一下 SUM(DECODE(...)) GROUP BY ... 03/21 06:13
推 joery: 樓上decode 好像就是DB2 pivot. 的用法,Rows 轉columns , 03/21 19:07
→ joery: 再組成一個欄位即可。 03/21 19:07
→ joery: ips4DB2LUW/entry/pivoting_tables56?lang=en 03/21 19:07
→ joery: ips4DB2LUW/entry/pivoting_tables56?lang=en 03/21 19:07
→ joery: 網址被截斷重貼 03/21 19:09
→ dontbirdme: 感謝各位,我已經用遞迴處理好了 03/22 00:09
→ dontbirdme: 再註,我覺得一樓的做法是最簡單的。只是DB版本太舊, 03/22 00:10
→ dontbirdme: 只好用遞迴 03/22 00:10