我现在要做个产品销售对比.要能这月的销售情况对比去年同期的销售情况以及对比上月的销售情况;
问题出来了,
我怎么去根据他这3个日期来查啊。
目前我只写了一个测试语句 如下:select
(SELECT c_short FROM xt_company c WHERE c.c_comcode=c_com) AS '店铺',
convert(decimal(10,2),sum(c_number)) as '数量'
from ls_retail
where c_arttypecode='01'
and c_date BETWEEN '2003-11-11 00:00:00' AND '2008-11-15 23:59:59'
GROUP BY c_arttypecode,c_com
我想要的效果如下:店铺 数量 数量 数量
花园路店 7716.00 5000 5000
隆海路店 4435.00 5000 5000
南阳路店 3262.00 5000 5000每个数量都是不同时期的销售数量。来位N人帮看下,一人回帖、全村关荣!
问题出来了,
我怎么去根据他这3个日期来查啊。
目前我只写了一个测试语句 如下:select
(SELECT c_short FROM xt_company c WHERE c.c_comcode=c_com) AS '店铺',
convert(decimal(10,2),sum(c_number)) as '数量'
from ls_retail
where c_arttypecode='01'
and c_date BETWEEN '2003-11-11 00:00:00' AND '2008-11-15 23:59:59'
GROUP BY c_arttypecode,c_com
我想要的效果如下:店铺 数量 数量 数量
花园路店 7716.00 5000 5000
隆海路店 4435.00 5000 5000
南阳路店 3262.00 5000 5000每个数量都是不同时期的销售数量。来位N人帮看下,一人回帖、全村关荣!
select a.c_number 本月,b.c_number 去年,c.c_number 上月 from (select c_number from tb where 月份=本月 ) a inner (select c_number from tb where 月份=去年月) b inner (select c_number from tb where 月份=上月) c
select a.c_comcode,a.c_number 本月,b.c_number 去年,c.c_number 上月 from (select c_comcode,c_number from tb where 月份=本月 ) a inner (select c_comcode,c_number from tb where 月份=去年月) b on a.c_comcode=b.c_comcode inner (select c_comcode, c_number from tb where 月份=上月) c on b.c_comcode=c.c_comcode
膜拜 .
[/Quote]
哈哈.不要看长就膜拜 . 其实上面的是有问题的,一是忘了join,二是括号问题
而且没有细看楼主的题意.再修改一下,供楼主参考
select a.c_comcode,a.c_number 本月,b.c_number 去年,c.c_number 上月 from ((select c_comcode,c_number from tb where 月份=本月 ) a inner join (select c_comcode,c_number from tb where 月份=去年月) b on a.c_comcode=b.c_comcode ) inner join (select c_comcode, c_number from tb where 月份=上月) c on b.c_comcode=c.c_comcode
而且没有细看楼主的题意.再修改一下,供楼主参考
SQL code
select a.c_comcode,a.c_number 本月,b.c_number 去年,c.c_number 上月 from ((select c_……
[/Quote]学习
好比一毛坯房,使用的时候必须装修.
另外上面代码中有一低级错误 order by 应该改为 group by
另外,根据实际情况,inner join还可以改为 left outer join
select a.c_com,a.本月,b.去年,c.上月 from ((select c_com,sum(c_number) 本月 from tb where 月份=本月 group by c_comcode ) a inner join (select c_com,sum(c_number) 去年 from tb where 月份=去年 group by c_comcode) b on a.c_com=b.c_com) inner join (select c_comcode, sum(c_number) 上月 from tb where 月份=上月 group by c_comcode) c on b.c_com=c.c_com