日期:2014-05-18  浏览次数:20416 次

菜鸟,求一条数据求和的问题,希望告诉来马上解决啊
有2个表A,B
A表
ID     姓名
1       张三
2       李四
3       王五

B表
ID     姓名       金额
1       张三       50
2       张三       60
3       张三       90
4       李四       30
5       李四       20

通过一条SQL语句实现:
ID     姓名       金额
1       张三       200
2       李四       50
3       王五       0


谢谢!!!!!给出标准的啊


------解决方案--------------------
select a.ID,a.姓名,isnull(sum(b.金额),0) from A表 a left join B表 b on a.姓名=b.姓名 group by a.ID,a.姓名
------解决方案--------------------
select a.id,a.姓名,金额=isnull(b.金额,0)
from 表A left join (select 姓名,金额=sum(金额) from 表B group by 姓名) b on a.姓名=b.姓名
------解决方案--------------------
--起码保证答案标准先,呵呵
select a.ID,a.姓名,金额=isnull(sum(b.金额),0) from A表 a left join B表 b on a.姓名=b.姓名 group by a.ID,a.姓名
------解决方案--------------------
select (select id from a where a.姓名=c.姓名)as ID ,姓名 , sum(金额) from
(
select ID, 姓名, 0 as 金额 from b
union all
select ID, 姓名, 金额 from b
) as c
group by 姓名