作者diamondking (天劍流星)
看板Database
標題Re: 也是將多筆資料合併在同一欄位的問題
時間Thu Sep 6 02:06:42 2007
※ 引述《wjykino (none)》之銘言:
: 請教各位
: 假如我有一SQL如下所示
: select name,subject from student_record
: 假設get的資料為
: name subject
: 小明 國文
: 小明 數學
: 請問我該怎麼修改SQL才能get如下的資料
: name subject
: 小明 國文,數學
: 我爬文發現774篇似乎符合我的需求
: 但是我使用的是Oracle 在oracle中似乎沒有group_concat這樣的函數
: 請問有其他函數還是該怎麼改才可以達到我的需求呢
: 謝謝
以前曾經查過一行sql的解法,改寫成你要的如下,請參考:
SELECT name,max(substr(subject,2)) subject
FROM
(SELECT name,sys_connect_by_path(subject,',') subject
FROM
(SELECT name,subject,name || rn rchild,name || (rn-1) rfather
FROM
(SELECT name ,subject,row_number() over
(PARTITION BY name ORDER BY subject) rn
FROM student_record))
CONNECT BY PRIOR rchild=rfather
START WITH rfather LIKE '%0')
GROUP BY name
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.117.63.84