練習題答案以及一些疑問
代碼一:
select?c.ci_id,?wm_concat(s.stu_name)?stu_ids from?pm_ci?c,?pm_stu?s where?instr(c.stu_ids,?s.stu_id)?>?0 group?by?c.ci_id;
代碼實現結果如下:
發現和視頻結果不一樣,沒有按序號順序輸入,可能是因為wm_concat()沒有排序功能?這點不清楚,請大佬指教!!
利用listagg()代替wm_concat()就可以輸出正確結果了。
代碼二:
select?c.ci_id,?listagg(s.stu_name,?',')?within?group?(order?by?s.stu_id)?stu_ids from?pm_ci?c,?pm_stu?s where?instr(c.stu_ids,?s.stu_id)?>?0 group?by?c.ci_id;
結果如下:
2022-03-29
2021-09-18
select ci.ci_id ci_id, listagg(stu.stu_name,',') stu_name
from pm_ci ci,pm_stu stu?
where instr(ci.stu_ids,stu.stu_id) > 0
group by ci.ci_id
order by ci.ci_id