假设A表
ID   Sa
--- ------------ 
A    11     
B    22
C    33
B    15
B    29
A    28
C    54
C    74
C    14B表
ID    Bd
--- -------
A    1981
B    2009目的:
输出
ID,sum(Sa),Bd现在问题是left join b on b.id=a.id后~使用了group by a.id无法取b.Bd
请指教最有效取b.Bd一并输出的方法,多谢

解决方案 »

  1.   


    declare @A表 table (ID varchar(1),Sa int)
    insert into @A表
    select 'A',11 union all
    select 'B',22 union all
    select 'C',33 union all
    select 'B',15 union all
    select 'B',29 union all
    select 'A',28 union all
    select 'C',54 union all
    select 'C',74 union all
    select 'C',14declare @B表 table (ID varchar(1),Bd int)
    insert into @B表
    select 'A',1981 union all
    select 'B',2009select a.*,b.bd from
    (select ID,sum
    (Sa) as Sa from @A表 group by ID
    ) a left join @B表 b on a.ID=b.id
    /*
    ID   Sa          bd
    ---- ----------- -----------
    A    39          1981
    B    66          2009
    C    175         NULL
    */
      

  2.   


    Select A.ID,sum(Sa),B.Bd
    From A
    Join B On A.ID=B.ID
    Group By A.ID,B.Bd
      

  3.   

    如果b.bd是text或ntext就不行了哟 =)