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

搞定!收工~

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值