1. 程式人生 > >oracle 行轉列,多行轉列

oracle 行轉列,多行轉列

問題描述:

   應公司要求,設計功能,一個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

搞定!收工~