oracle 行轉列,多行轉列

2021-08-31 20:50:50 字數 767 閱讀 5992

問題描述:

應公司要求,設計功能,乙個id,對應不同的值,展示的時候不同的值拼接展示,如何實現;

解決思路:

1) 拼接字串,想到了 oracle  function(),這樣肯定能實現,但是比較麻煩;

2) oracle 自帶的乙個函式

wm_concat

函式 非常給力;

上**

--測試表1

create table ceshi1(id varchar2(10),ms varchar2(100));

--測試表2

create table ceshi2(id varchar2(10),ms_1 varchar2(100));

insert into ceshi1 (id, ms)

values ('1', '測試');

insert into ceshi1 (id, ms)

values ('2', '測試2');

insert into ceshi2 (id, ms_1)

values ('1', '展示1');

insert into ceshi2 (id, ms_1)

values ('1', '展示2');

---強大的功能即將展示

select t.id,

(select wm_concat(t2.ms_1) from ceshi2 t2 where t2.id = t.id) as tt

from ceshi1 t

搞定!收工~

Oracle 多行轉列函式

oracle中使用wmsys.wm concat函式進行多行轉列 原資料 rank name aa name1 aa name2 aa name3 bb name4 bb name5 sql select trim t.rank as rank,wmsys.wm concat trim t.name...

Oracle多行轉列函式

oracle中使用wmsys.wm concat函式進行多行轉列 原資料 rank name aa name1 aa name2 aa name3 bb name4 bb name5 sql select t.rank,wmsys.wm concat t.name from table name t...

Oracle 多行轉列函式

oracle中使用wmsys.wm concat函式進行多行轉列 原資料 rank name aa name1 aa name2 aa name3 bb name4 bb name5 sql select t.rank,wmsys.wm concat t.name from table name t...