select SUBJECTNO,SUBJECTNAME,sum(MONEY) from SUBJECTINFO 
group by SUBJECTNO,SUBJECTNAME

解决方案 »

  1.   

    不好意思,意思没有说清楚,SUBJECTNO与SUBJECTNAME含义是一样的,可是用户在输入数据时,并非严格一致,比方说10103为“其它”,可是用户可能输入的是“其他”,这样按上面的统计,就起码有两行10103的结果了。其它各科目的情况也是类似的。就是10101的名字可能有多个,10102的名字也有可能有多个,。。这样的SQL应该如何写呢?
      

  2.   

    首先将数据规范,比如
    update SUBJECTINFO set SUBJECTNAME ='其它' where SUBJECTNO='10103'然后再
    select SUBJECTNO,SUBJECTNAME,sum(MONEY) from SUBJECTINFO 
    group by SUBJECTNO,SUBJECTNAME要不SUBJECTNO对应多个SUBJECTNAME,电脑也不知道取哪个
      

  3.   

    select SUBJECTNO,decode(SUBJECTNO,10101 ,'现金' ,10102 ,'支票' ,'其它'),sum(MONEY) from SUBJECTINFO 
    group by SUBJECTNO
      

  4.   

    select distinct T1.SUBJECTNO, T2.SUBJECTNAME, T1.sm
    from (select SUBJECTNO,sum(money) sm from SUBJECTINFO group by SUBJECTNO) T1, 
         (select distinct SUBJECTNO,SUBJECTNAME from SUBJECTINFO ) T2
    where  T1.SUBJECTNO=T2.SUBJECTNO;
      

  5.   

    最简单的方法就是另建一个表:(subjectno,sujectname)
      

  6.   

    select SUBJECTNO,max(SUBJECTNAME) as SUBJECTNAME,sum(MONEY) from SUBJECTINFO 
    group by SUBJECTNO
      

  7.   

    select SUBJECTNO,max(decode(SUBJECTNAME,'其他',其它)),sum(MONEY) from UBJECTINFO 
    group by SUBJECTNO
      

  8.   

    就是用这个方法吧 感觉还不错 : Ranma_True(乱马1/2(真)) ( ) 信誉:100 
    select SUBJECTNO,max(SUBJECTNAME) as SUBJECTNAME,sum(MONEY) from SUBJECTINFO 
    group by SUBJECTNO