Oracle UNPIVOT 列变行

to

WITH TEMP AS (SELECT  
       DECODE(MAX(DECODE(T.T_YZ_NAME, '流量', T.T_YZ_VALUE)),'','-',MAX(DECODE(T.T_YZ_NAME, '流量', T.T_YZ_VALUE))) AS 流量, 
       DECODE(MAX(DECODE(T.T_YZ_NAME, 'PH 值', T.T_YZ_VALUE)),'','-',MAX(DECODE(T.T_YZ_NAME, 'PH 值', T.T_YZ_VALUE)))AS PH值, 
       DECODE(MAX(DECODE(T.T_YZ_NAME, 'COD', T.T_YZ_VALUE)),'','-',MAX(DECODE(T.T_YZ_NAME, 'COD', T.T_YZ_VALUE))) AS COD, 
       DECODE(MAX(DECODE(T.T_YZ_NAME, '氨氮', T.T_YZ_VALUE)),'','-',MAX(DECODE(T.T_YZ_NAME, '氨氮', T.T_YZ_VALUE)))AS 氨氮, 
       DECODE(MAX(DECODE(T.T_YZ_NAME, '总磷', T.T_YZ_VALUE)),'','-',MAX(DECODE(T.T_YZ_NAME, '总磷', T.T_YZ_VALUE)))AS 总磷, 
       DECODE(MAX(DECODE(T.T_YZ_NAME, '总氮', T.T_YZ_VALUE)),'','-',MAX(DECODE(T.T_YZ_NAME, '总氮', T.T_YZ_VALUE))) AS 总氮 
  FROM ZTS_JKDXX J
  LEFT JOIN ZTS_PFKJBXX P
    ON P.GUID = J.T_PWK_ID
  LEFT JOIN (SELECT QY.GUID, QY.T_QYJC, QY.T_YQLX, QY.T_GZCD
               FROM ZTS_QYJBXX QY
              WHERE QY.T_SHZT IN ( '待入网', '已入网')) QY
    ON P.T_QY_ID = QY.GUID
  LEFT JOIN ZTS_FSYZSJJL T
    ON QY.GUID = T.T_QYID
   AND T.T_JKDID = J.GUID
  WHERE J.GUID = '89AA0ADCE92D4741962EB17DE9CE1AB5'
 ) SELECT YZNAME,YZVALUE FROM TEMP UNPIVOT
 (YZVALUE FOR YZNAME IN(流量,PH值,COD,氨氮,总磷,总氮))T;
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值