本帖最后由 daweibendan 于 2012-02-02 15:29:15 编辑

解决方案 »

  1.   

    SELECT * FROM A,(
    select id,sum(ids) AS summ from 
    (select id,state_code,ids
    from (select bzh AS ID,
     decode(dzrq1,null,0,'注销',0,jfgz1) jfgz1 ,
     decode(dzrq2,null,0,'注销',0,jfgz2) jfgz2 ,
     decode(dzrq3,null,0,'注销',0,jfgz3) jfgz3 ,
     decode(dzrq4,null,0,'注销',0,jfgz4) jfgz4 ,
     decode(dzrq5,null,0,'注销',0,jfgz5) jfgz5 ,
     decode(dzrq6,null,0,'注销',0,jfgz6) jfgz6 ,
     decode(dzrq7,null,0,'注销',0,jfgz7) jfgz7 ,
     decode(dzrq8,null,0,'注销',0,jfgz8) jfgz8 ,
     decode(dzrq9,null,0,'注销',0,jfgz9) jfgz9 ,
     decode(dzrq10,null,0,'注销',0,jfgz10) jfgz10 ,
     decode(dzrq11,null,0,'注销',0,jfgz11) jfgz11 ,
     decode(dzrq12,null,0,'注销',0,jfgz12) jfgz12 
     
     from B) t
    unpivot
    (
        ids
    for state_code in ("JFGZ1","JFGZ2","JFGZ3","JFGZ4","JFGZ5","JFGZ6","JFGZ7","JFGZ8"
    ,"JFGZ9","JFGZ10","JFGZ11","JFGZ12")
    )
    ) where ids <>0 group by ID)S
    WHERE A.Gzlj!=S.summ