oracle 显示一行,Oracle多行变成一列一行显示。

查询某个表(如证书表),里面一个人一个证书就是一行数据,一个人可能有多个证书(即多行)。需要显示为某个人所有证书显示在一行,用标识符隔开。如下:

128e251ca7bf5914f216c3842b8512ed.png

要得结果为:

569427e646287f57a1cdc7639ad55810.png

SQL语句如下:

SELECT

pk_psndoc,

LISTAGG( to_char(glbdef1), '&') WITHIN GROUP(ORDER BY glbdef1) AS zhengShu,

LISTAGG( to_char(glbdef2), '&') WITHIN GROUP(ORDER BY glbdef2) AS zhengShuhao,

LISTAGG( to_char(glbdef3), '&') WITHIN GROUP(ORDER BY glbdef3) AS zhengShushijian,

LISTAGG( to_char(glbdef4), '&') WITHIN GROUP(ORDER BY glbdef4) AS zhengShujiguan

FROM (

select

distinct

pk_psndoc,

case when glbdef1 is null then '无' else glbdef1 end  glbdef1,

case when glbdef2 is null then '无' else glbdef2 end  glbdef2,

case when glbdef3 is null then '无' else glbdef3 end  glbdef3,

case when glbdef4 is null then '无' else glbdef4 end glbdef4

from hi_psndoc_glbdef1  )

group by pk_psndoc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值