zoukankan      html  css  js  c++  java
  • oracle的 listagg() WITHIN GROUP () 行转列函数的使用

    参考如下:

    select listagg(reveitemname, ',') within group (order by reveitemname)fdb from 
    (
        select 
        distinct
        gg.projid,
        gg.contractname||
        case 
            when gg.revetype='1'   and   gg.rrighttype='2'    then '房产' 
            when gg.revetype='1'   and   gg.rrighttype='3'    then '土地' 
            when gg.revetype='1'   and   gg.rrighttype='4'    then '设备' 
            when gg.revetype='1'   and   gg.rrighttype='10'   then '汽车' 
            when gg.revetype='1'   and   gg.rrighttype='5'    then '其他物证' 
            when gg.revetype='2'   and   gg.rrighttype='6'    then '股权' 
            when gg.revetype='2'   and   gg.rrighttype='8'    then '其他物权' 
            when gg.revetype='2'   and   gg.rrighttype='18'   then '专利权' 
            when gg.revetype='10'  and   gg.rrighttype='19'   then '浮动抵押' 
            when gg.revetype='11'  and   gg.rrighttype='7'    then '应收账款' 
        end  reveitemname  
        from
        (
            select 
            pci.*,
            (select count(1) from comm_attachment_relation c where c.objectid=pci.contractid  and c.attachmenttype in ('23','29') ) as ishavepactfile ,        
            (
                select max(rrighttype) from CRM_COUNTERGUARANTEE_PRO tt ,guarantyandcontractapprrel ww
                where tt.projid=ww.projid
                and tt.faserialid=ww.faserialid
                and ww.contractid=pci.contractid
            ) as rrighttype,        
            (
                select max(tt.revetype) from CRM_COUNTERGUARANTEE_PRO tt ,guarantyandcontractapprrel ww
                where tt.projid=ww.projid
                and tt.faserialid=ww.faserialid
                and ww.contractid=pci.contractid
            ) as revetype
            from PROJ_CONTRACT_INFO  pci  order by substr(pci.contractcode, 11,15),pci.createtime
        ) gg  
    )where  projid=xxx

     查询结果显示:

    夫妻连带保证-反担保,个人保证-反担保,企业保证-反担保,委托保证合同,质押-反担保股权

    end;

  • 相关阅读:
    Java多线程之赛跑游戏(含生成exe文件)
    JavaSE之绘制菱形
    JavaSE项目之员工收录系统
    深度解析continue,break和return
    如何查看yum安装路径
    转载 linux umount 时出现device is busy 的处理方法--fuser
    linux安装扩展总结
    linux 编译安装amqp
    vmware 实现linux目录映射window本地目录
    yaf学习之——生成yaf示例框架
  • 原文地址:https://www.cnblogs.com/xh_Blog/p/15088956.html
Copyright © 2011-2022 走看看