高手们请帮忙!求多个表某字段分数相加总和的sql语句。

xyy520 2011-10-24 04:18:06
表1
Id AddUser fenshu1 datetime
1 tom 10 2011-10-1
2 jane 20 2011-10-1
3 tom 10 2011-10-2
4 coco 10 2011-10-2

表2
Id AddUser Point datetime
1 tom 10 2011-10-1
2 jane 20 2011-10-1
3 tom 10 2011-10-2
4 tom 10 2011-10-2


表3
Id AddUser Value datetime
1 tom 10 2011-10-1
2 jane 20 2011-10-1
3 tom 10 2011-10-2
4 tina 10 2011-10-2

想以Adduser字段分组,多表某列数值相加,我想要的最后结果是:

总分:
tom 60
jane 60
coco 10
tina 10


备注:最好按照时间查询,得出总分。比如我查询2011-10-1 到2011-10-5 之间的总分情况,这样可以得出周报数据和月报数据。
...全文
361 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
薇薇 2011-10-24
  • 打赏
  • 举报
回复

select AddUser,sum(Value) as Value
from
(select * from t1 where [datetime] between '2011-10-01' and '2011-10-05'
union all
select * from t2 where [datetime] between '2011-10-01' and '2011-10-05'
union all
select * from t3 where [datetime] between '2011-10-01' and '2011-10-05'
)t
group by AddUser

xyy520 2011-10-24
  • 打赏
  • 举报
回复
难怪我刚自己做没有成功,原来是缺少个 all,谢谢啊[Quote=引用 3 楼 roy_88 的回复:]
SQL code
或把條件加在連接表里如
select AddUser,sum(Value) as Value
from
(select * from t1 where [datetime] between '2011-10-01' and '2011-10-05'
union all
select * from t2 where [datetime] between '2011-1……
[/Quote]
快溜 2011-10-24
  • 打赏
  • 举报
回复
union all 加sum聚合
--小F-- 2011-10-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xyy520 的回复:]
错了 应该是70

引用 2 楼 fredrickhu 的回复:
TOM怎么才60?
[/Quote]

上面的全部都O了
xyy520 2011-10-24
  • 打赏
  • 举报
回复
错了 应该是70[Quote=引用 2 楼 fredrickhu 的回复:]
TOM怎么才60?
[/Quote]
中国风 2011-10-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 roy_88 的回复:]

SQL code

select
AddUser,sum(Value) as Value
from
(select * from t1
union all
select * from t2
union all
select * from t3)t
where [datetime] between '2011-10-01' and '2011-10-05'
[/Quote]
1樓少打了 group by AddUser
唐诗三百首 2011-10-24
  • 打赏
  • 举报
回复

select t.AddUser,sum(t.fenshu1) sfenshu1
from
(
select * from 表1
union all
select * from 表2
union all
select * from 表3
) t
group by t.AddUser
中国风 2011-10-24
  • 打赏
  • 举报
回复
或把條件加在連接表里如
select AddUser,sum(Value) as Value
from
(select * from t1 where [datetime] between '2011-10-01' and '2011-10-05'
union all
select * from t2 where [datetime] between '2011-10-01' and '2011-10-05'
union all
select * from t3 where [datetime] between '2011-10-01' and '2011-10-05'
)t
group by AddUser
--小F-- 2011-10-24
  • 打赏
  • 举报
回复
TOM怎么才60?
中国风 2011-10-24
  • 打赏
  • 举报
回复

select
AddUser,sum(Value) as Value
from
(select * from t1
union all
select * from t2
union all
select * from t3)t
where [datetime] between '2011-10-01' and '2011-10-05'

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧