看板 Database 關於我們 聯絡資訊
※ 引述《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