表A:
Aid   Aname
1       aa
2       bb
3       cc表B
Bid   Aid   Bamount
1      1       5
2      1       6
3      1       8
4      2       6
5      2       7我想得到的俄结果是:
Aname      Bamount
aa            19
bb            13 
cc             0
哪位高手帮我解决下。。谢谢

解决方案 »

  1.   

    SELECT A.ANAME,(SELECT SUM(BAMOUNT) FROM B WHERE B.AID=A.AID) FROM A
      

  2.   

    select ANAME,Bamount=ISNULL(SUM(Bamount),0)
    from a join b on a.aid=b.aid 
    group by aname
      

  3.   

    select 
        a.Aname,sum(b.Bamount)  
    from 
        a,b
    where 
        a. Aid=b. Aid
    group by
        a.Aname
        
      

  4.   


    select 
        a.Aname,isnull(sum(b.Bamount),0)  
    from 
        a,b
    where 
        a. Aid=b. Aid
    group by
        a.Aname
      

  5.   

    SELECT 
          A.ANAME,ISNULL(SUM(B.Bamount),0) AS Bamount
    FROM 
         A LEFT JOIN B ON A.AID=B.AIDGROUP BY A.ANAME
      

  6.   

    select ANAME,Bamount=ISNULL(SUM(Bamount),0) 
    from   a left join b on a.aid=b.aid group by aname
      

  7.   

    select Aname,sum(isnull(Bamount, 0))
    from A left join B 
      on A.Aid=B.Aid
    group by Aname
      

  8.   

    你好,sql如下:
    select Aname,sum(isnull(Bamount, 0))
    from A left join B on A.Aid=B.Aid group by Aname
      

  9.   

    DECLARE @Taba TABLE (Aid INT,  Aname VARCHAR(20))
    INSERT INTO @Taba 
    SELECT 1   ,    'aa' UNION ALL 
    SELECT 2    ,     'bb' UNION ALL 
    SELECT 3    ,     'cc' DECLARE @Tabb TABLE (Bid INT, Aid INT, Bamount INT)
    INSERT INTO @Tabb 
    SELECT 1 ,     1   ,    5 UNION ALL 
    SELECT 2  ,    1  ,     6 UNION ALL 
    SELECT 3  ,    1   ,    8 UNION ALL 
    SELECT 4  ,    2  ,     6 UNION ALL 
    SELECT 5  ,    2  ,     7SELECT A.Aname,SUM(ISNULL(B.Bamount,0))
    FROM @Taba A LEFT JOIN @Tabb B
    ON A.aid = B.Aid
    GROUP BY A.Aname/*
    Aname                SumAmount
    -------------------- -----------
    aa                   19
    bb                   13
    cc                   0(3 行受影响)
    */