select B.ID,SUM((SELECT a FROM A WHERE A.ID = B.PJ_ID)) num
from B
where EXISTS (SELECT 1 FROM C WHERE B.ID=C.ID)
group by B.ID
这样试试

解决方案 »

  1.   

    select B.ID,SUM((SELECT a FROM A WHERE A.ID = B.ID)/
    (select count(*) from C where C.ID = B.ID)) 
    from B,C
    where B.ID=C.ID
    group by B.ID这样是可以的,但是不知道有没有简单的方法?
      

  2.   

    select B.ID,SUM((SELECT a FROM A WHERE A.ID = B.ID)/
    (select count(*) from C where C.ID = B.ID)) num
    from B,C
    where B.ID=C.ID
    group by B.ID但是这个时候的结果是ID    num
    ----- ------
    1     9.99999999
    2     19.99999999这样应该如何解决阿?谢谢
      

  3.   

    to:qiaozhiwei(乔)你的方法是可以的,
    但是我的SQL语句的条件最好不能再改了,不然肯定会生成新的问题。
    谢谢。
    但是没有其他更好的办法,就用这种
      

  4.   

    select B.ID,SUM((SELECT a FROM A WHERE A.ID = B.PJ_ID))/count(B.ID) num
    from B,C
    where B.ID=C.ID
    group by B.ID