您好,登錄后才能下訂單哦!
1、實際需求情況如下:
描述:上述表中,某一位同學有多門課程和成績,現在希望有一條SQL語句,將課程名稱和成績合并在一起顯示,如下:
描述:將這位同學的全部課程和成績用一個字段表示,里面包括全部的課程名稱和考試成績
2、問題分析
解決這個問題可以采用創建function的辦法,去合并這2個字段,但這樣太麻煩,由于是采用的Oracle10g,故可以采用函數wmsys.wm_concat()實現此功能。
3、解決方案
SQL:
第一步先寫一個視圖view_ly_sjdxpt_jwcj,合并這2個字段
SQL代碼:
createorreplaceviewview_ly_sjdxpt_jwcj as
select
xh hm,
kcmc||zscj as kc_cj
from dcuser.ly_xs_bzks_cjb b;
結果:
第二步再寫一個視圖,使用wmsys.wm_concat()將KC_CJ字段合并
SQL代碼:
createorreplaceviewview_ly_sjdxpt_jwcj_kz as select hm,wmsys.wm_concat(kc_cj) as kccj from view_ly_sjdxpt_jwcj groupby hm;
結果:
第三步代入實際需要的sql中使用即可:
SQL代碼:
select distinct
'教務成績' dxlb,
xh hm,
(select lxdh fromdcuser.LY_XS_BZKS_XSJBXX where xh=b.xh) sjhm,
to_char(sysdate,'yyyyMMddHH24miss') crsj,
xm||'同學您好,這個學期您各科成績如下:'||c.kccj as nr,
'' bz,
''fssj
fromdcuser.ly_xs_bzks_cjb b
leftouterjoin DCUSER_KZ.VIEW_LY_SJDXPT_JWCJ_KZ c on b.xh=c.hm
結果:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。