读书人

请教这样的sql语句如何写

发布时间: 2011-12-27 22:22:55 作者: rapoo

请问这样的sql语句怎么写?
表A
--------------------
A日期 A电话费
--------------------
2007-4-11 5000
2007-4-11 5000
2007-4-11 5000
--------------------
表B
--------------------
B日期 B手机费
--------------------
2007-4-11 1000
2007-4-11 1000
2007-4-12 1000
2007-4-12 1000
--------------------
得到结果

日期 电话费 手机费
2007-4-11 25000 2000
2007-4-12 0 2000

对表B 进行分组查询 同时查询表A 日期相同的总和

[解决办法]
select 日期,sum(case type when 1 then 电话费 else 0 end ) as 电话费,sum(case type when 2 then 电话费 else 0 end ) as 手机费from(select A日期 as 日期 ,A电话费 as 电话费 ,1 as Type union Select B日期 as 日期 ,B手机费 as 电话费 ,2 as Type ) AS AAGROUP BY 日期
[解决办法]
也一方法

Select
IsNull(A.A日期, B日期) As 日期,
IsNull(A.A电话费, 0) As 电话费,
IsNull(B.B手机费, 0) As 手机费
From
(Select A日期, SUM(A电话费) As A电话费 From A Group By A日期) A
Full Join
(Select B日期, SUM(B手机费) As B手机费 From B Group By B日期) B
On A.A日期 = B.B日期

读书人网 >asp.net

热点推荐