oracle 行轉列,多行轉列
阿新 • • 發佈:2018-11-22
問題描述:
應公司要求,設計功能,一個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
搞定!收工~