关于查询的问题
有两个表:
表A:有 姓名ID 姓名,两个字段
表B:有 姓名ID 收入(每个员工每次的收入)
结果:
显示每个员工的总收入
姓名 总收入
我该如何写SQL语句,谢谢了
问题点数:100、回复次数:13Top
1 楼xingfuniao(幸福鸟)回复于 2004-12-01 12:38:14 得分 20
select a.姓名,(select sum(收入) from b where 姓名ID=a.姓名ID) as 总收入
from a group by a.姓名Top
2 楼xingfuniao(幸福鸟)回复于 2004-12-01 12:41:44 得分 0
select a.姓名,(select sum(收入) from b where 姓名ID=a.姓名ID) as 总收入
from aTop
3 楼xingfuniao(幸福鸟)回复于 2004-12-01 12:43:28 得分 0
或
SELECT a.name, SUM(b.m) AS 总收入
FROM a INNER JOIN b ON b.id = a.id
GROUP BY a.nameTop
4 楼lsxaa(小李铅笔刀)回复于 2004-12-01 12:44:57 得分 20
SELECT a.name, SUM(isnull(b.m,0)) AS 总收入
FROM a LEFT JOIN b ON b.id = a.id
GROUP BY a.name
Top
5 楼zarge(鲨去来兮)回复于 2004-12-01 12:45:10 得分 20
select (select 姓名 from A where 姓名ID = b.姓名ID) as 姓名, SUM( 收入 ) as 总收入
from B
group by 姓名IDTop
6 楼zanyzyg(猪油果)回复于 2004-12-01 12:45:28 得分 20
select a.姓名ID,a.姓名,b.收入 from 表A a,
(
select 姓名ID,sum(收入) as 收入 from 表B group by 姓名ID,
)b
where a.姓名ID=b.姓名ID
Top
7 楼lsxaa(小李铅笔刀)回复于 2004-12-01 12:45:55 得分 0
SELECT a.姓名, SUM(isnull(b.收入,0)) AS 总收入
FROM a LEFT JOIN b ON b.id = a.id
GROUP BY a.姓名Top
8 楼bigben2008(ben)回复于 2004-12-01 14:17:02 得分 0
SQL Server,创建一个视图就得了。
要是在Access上,就麻烦点了。
Top
9 楼vinsonshen(为了明天)回复于 2004-12-01 14:19:50 得分 0
试试:
select a.姓名,sum(b.收入) as 总收入 from A as a,B as b where a.姓名ID=b.姓名ID group by a.姓名Top
10 楼bangchui(棒槌)回复于 2004-12-01 14:28:17 得分 20
select a.姓名 sum(收入) 总收入 from A a inner join B b on a.姓名ID=b.姓名ID group by a.姓名Top
11 楼kmzixin(滋心)回复于 2004-12-01 23:07:22 得分 0
谢谢,各位,小弟明白了Top
12 楼vinsonshen(为了明天)回复于 2004-12-01 23:09:40 得分 0
明白就好~~~其实这类是种分组查询的典型~~~Top
13 楼vinsonshen(为了明天)回复于 2004-12-01 23:30:14 得分 0
bangchui(棒槌) :
select a.姓名 sum(收入) 总收入 from A a inner join B b on a.姓名ID=b.姓名ID group by a.姓名
这个有错啊,呵呵,copy改错了Top




