本帖最后由 colorsky_010 于 2013-09-17 19:28:53 编辑

解决方案 »

  1.   

    如果只有五张卡,则是典型的行转列,可用以下sqlSELECT ZDH,SUM(DECODE(KH,'卡号1',KH,0)) 卡号1,
               SUM(DECODE(KH,'卡号1',KH,0)) 卡号2,
               SUM(DECODE(KH,'卡号1',KH,0)) 卡号3,
               SUM(DECODE(KH,'卡号1',KH,0)) 卡号4,
               SUM(DECODE(KH,'卡号1',KH,0)) 卡号5 
    FROM TABLE
    GROUP BY ZDH如果卡的数量会变,那就要使用动态的行转列了,需要写存储过程
      

  2.   

    如果结果列是固定的 直接sum(decode())就可以了 
      

  3.   

    SELECT ZDH,SUM(DECODE(KH,'卡号1',xfje,0)) 卡号1,
               SUM(DECODE(KH,'卡号1',xfje,0)) 卡号2,
               SUM(DECODE(KH,'卡号1',xfje,0)) 卡号3,
               SUM(DECODE(KH,'卡号1',xfje,0)) 卡号4,
               SUM(DECODE(KH,'卡号1',xfje,0)) 卡号5 
    FROM TABLE
    GROUP BY ZDH 
    这样?