问题描述:
应公司要求,设计功能,一个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
搞定!收工~