本文實(shí)例講述了oracle實(shí)現(xiàn)多行合并的方法。分享給大家供大家參考。具體分析如下:
在寫sql時(shí),經(jīng)常會(huì)有將某列的字段合并起來(lái),比如將某人名下每個(gè)月的工資列示,但是每個(gè)人只能占一行。
像這種場(chǎng)景,可能用行列轉(zhuǎn)換也能實(shí)現(xiàn),但如果這個(gè)月份的信息不固定,就無(wú)法使用行列轉(zhuǎn)換了。
oracle10g以后,提供了一個(gè)函數(shù)WMSYS.WM_CONCAT,能很輕松實(shí)現(xiàn)該功能。
復(fù)制代碼 代碼如下:
select t.rank, WMSYS.WM_CONCAT(t.Name) TIME From t_menu_item t GROUP BY t.rank;
這樣,看著就舒服多了。
這個(gè)方法沒出來(lái)之前,可能還需要自己寫一個(gè)函數(shù),稍微麻煩些。
希望本文所述對(duì)大家的Oracle數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Oracle 多行記錄合并/連接/聚合字符串的幾種方法
- oracle合并列的函數(shù)wm_concat的使用詳解
- oracle列合并的實(shí)現(xiàn)方法
- oracle 合并查詢 事務(wù) sql函數(shù)小知識(shí)學(xué)習(xí)
- oracle如何合并多個(gè)sys_refcursor詳解