where a.GSMC= 3 AND YEAR(a.MDATE)=2005 and MONTH(a.MDATE)=2
and b.GSMC=3 and YEAR(b.MDATE)=2005 and MONTH(b.MDATE)<=2
这个语句查询得到的值有问题。。
...全文
16112打赏收藏
上个帖子自己写错了语句,再发一个贴问问高手这个SQL语句问题,算是道歉了:)
写错了 select sum(a.aa) as aa, sum(b.aa) as bb from table_1 a, table_1 b where a.GSMC= 3 AND YEAR(a.MDATE)=2005 and MONTH(a.MDATE)=2 and b.GSMC=3 and YEAR(b.MDATE)=2005 and MONTH(b.MDATE)<=2 这个语句查询得到的值有问题。。
建议用临时表,建立代表年和月的临时表
比如
with temmonth as
(select sum(aa),mdate from table_1 where aGSMC= 3 AND YEAR(MDATE)=2005 and MONTH(MDATE)=2),
temyear as
(select sum(aa),mdate from table_1 where aGSMC= 3 AND YEAR(MDATE)=2005 and MONTH(MDATE)<=2)
select temmonth.aa,temyear.aa from temmonth,temyear where temmonth.mdate=temyear.mdate