1对1的数据中type=01的抽出来,1对多的中,type只能是01和02,别的组合都不行。也就是说要么全是01的,要么是01和02的组合,别的都不行

解决方案 »

  1.   

    select ID,SUM(NUM)
    from T1
    GROUP BY ID
    HAVING SUM(DECODE(TYPE,'01',1))=1
    AND SUM(DECODE(TYPE,'01',0,'02',0,1))<>0
      

  2.   

    谢谢版主的回复,问题得到解决。SUM(DECODE(TYPE,'01',0,'02',0,1))=0只是想问下
    HAVING SUM(DECODE(TYPE,'01',1))=1
    AND SUM(DECODE(TYPE,'01',0,'02',0,1))=0
    怎么理解
      

  3.   


    HAVING SUM(DECODE(TYPE,'01',1))=1--type等于'01'的记录有且仅有一条
    AND SUM(DECODE(TYPE,'01',0,'02',0,1))=0--type取值'01''02'之外没有其他记录