请教一下:
我有三个数据库A,B,C,在同一个服务器上,每个数据库都有一个相同的表名rdrecords,字段和数据如下:
a.dbo.rdrecords:日期 金额
2012-8-12 400
2012-8-13 330
2012-9-10 322
2012-9-11 321b.dbo.rdrecords:日期 金额
2012-8-15 401
2012-8-19 334
2012-9-14 326
2012-9-18 328c.dbo.rdrecords:日期 金额
2012-8-11 4012
2012-8-14 3348
2012-9-13 321
2012-9-19 322现在想把三个数据库的金额汇总加起来,显示在一张表上:我是这样写的,不知错在哪里?select 月份 ,a1.sum(金额)+select a2.sum(金额) from b.dbo.rdrecords b2 group by a2 + select a3.sum(金额) from c.dbo.rdrecords c3 group by c3 from a.dbo.rdrecords a1 group by a1.日期
我有三个数据库A,B,C,在同一个服务器上,每个数据库都有一个相同的表名rdrecords,字段和数据如下:
a.dbo.rdrecords:日期 金额
2012-8-12 400
2012-8-13 330
2012-9-10 322
2012-9-11 321b.dbo.rdrecords:日期 金额
2012-8-15 401
2012-8-19 334
2012-9-14 326
2012-9-18 328c.dbo.rdrecords:日期 金额
2012-8-11 4012
2012-8-14 3348
2012-9-13 321
2012-9-19 322现在想把三个数据库的金额汇总加起来,显示在一张表上:我是这样写的,不知错在哪里?select 月份 ,a1.sum(金额)+select a2.sum(金额) from b.dbo.rdrecords b2 group by a2 + select a3.sum(金额) from c.dbo.rdrecords c3 group by c3 from a.dbo.rdrecords a1 group by a1.日期
select 日期,isnull(a.sum(金额),0)+isnull(b.sum(金额),0)+isnull(c.sum(金额),0)
from a.dbo.rdrecords a left outer join b.dbo.rdrecords b on a.日期 = b.日期
left outer join c.dbo.rdrecords c on a.日期 = b.日期
group by 日期
这个结果得什么??随便找个类似的字段关联?
left outer join也可以,但在超过两个表(3各表或者更多表)关联时要谨慎使用。
语句:
select sum(金额),日期 from (
select 日期,金额 from a.dbo.rdrecords
union all
select 日期,金额 from b.dbo.rdrecords
union all
select 日期,金额 from c.dbo.rdrecords
) a group by 日期