WM CONCAT多行根據主鍵合併成一行

2021-09-24 13:14:39 字數 1731 閱讀 4737

現在需求如下:

表1--表4中,每個欄位1均為主鍵,要將四張表查詢出的結果展示為下圖。

主要用到了wm_concat函式。測試用到的表結構和表資料如下:

create table a1

( id1 varchar2(1),

yi varchar2(10)

);create table a2

( id2 varchar2(1),

er varchar2(10)

);create table a3

( id3 varchar2(1),

san varchar2(10)

);create table a4

( id4 varchar2(10),

si varchar2(100)

);insert into a1 (id1, yi)

values ('2', 'b');

insert into a1 (id1, yi)

values ('3', 'c');

insert into a2 (id2, er)

values ('1', 'aa');

insert into a2 (id2, er)

values ('2', 'bb');

insert into a3 (id3, san)

values ('1', 'aaa');

insert into a3 (id3, san)

values ('3', 'ccc');

insert into a4 (id4, si)

values ('1', 'aaaa');

insert into a4 (id4, si)

values ('3', 'cccc');

commit;

sql語句:

select tt.產品型別,

wm_concat(tt.yi),

wm_concat(tt.er),

wm_concat(tt.san),

wm_concat(tt.si)

from (select case

when a1.id1 is not null then

a1.id1

when a2.id2 is not null then

a2.id2

when a3.id3 is not null then

a3.id3

when a4.id4 is not null then

a4.id4

end 產品型別,

a1.yi yi,

a2.er er,

a3.san san,

a4.si si

from a1

full join a2

on a1.id1 = a2.id2

full join a3

on a1.id1 = a3.id3

full join a4

on a1.id1 = a4.id4) tt

group by tt.產品型別

查詢效果圖:

wm concat 多行字串拼接

一 wm concat 多行字串拼接 有如下員工部門表emp dept,資料如下 需要實現如下結果 就需要用到wm concat 函式 sql如下 select dept name 部門,wm concat t.emp name 員工 from emp dept t group by dept na...

mongo根據主鍵刪除 MongoDB增改刪操作

1 插入語句,插入語句由insert語句來完成,1,插入資料時,不需要預先建立乙個集合 cus 插入資料會自動生成。2,每次插入資料是沒有指定字段 id 時,則會預設建立乙個主鍵 id 3,id不可重複插入相同值 例如 db.cus.insert 2 修改語句 語法 db.collection.up...

ORACLE 表中字段根據逗號拆分多行

這個函式的作用是正則分隔字串,用法為 function regexp substr string,pattern,position,occurrence,modifier srcstr 需要進行正則處理的字串 pattern 進行匹配的正規表示式 position 起始位置,從第幾個字元開始正規表示...