sum(decode())行转列,这类需求给你写不少了啊,自己写次试试呗

解决方案 »

  1.   

    我弄是弄好了,我就是根据因素='HJT-0623-YS '这样查询三次,然后就用T1,T2,T3去接收,最后就行列转换,从T1,T2,T3里面查出来,我写是写好了,但是我感觉这样效率太低了,请问有没有更好地方法呢
      

  2.   

     SELECT 'HJT-0623-ys' AS 要素,
    SUM(DECODE(模块,'勘探',数量)) AS "勘探",
    SUM(DECODE(模块,'炼化',数量)) AS "炼化",
    SUM(DECODE(模块,'销售',数量)) AS "销售",
    SUM(DECODE(模块,'管道',数量))AS "管道",
    SUM(DECODE(模块,'科研',数量)) AS "科研",
    SUM(DECODE(模块,'工技',数量)) AS "工技",
    SUM(DECODE(模块,'工建',数量)) AS "工建",
    SUM(DECODE(模块,'装备',数量)) AS "装备",
    SUM(DECODE(模块,'其他',数量)) AS "其他",
    SUM(DECODE(模块,'海外',数量)) AS "海外",
    SUM(DECODE(模块,'222',数量)) AS "222",
    SUM(DECODE(模块,'1231',数量)) AS "1231"
    FROM T
    GROUP BY 'HJT-0623-ys'