- 爱易网页
-
MSSQL教程
- 要求统计某一年(输入参数)中每个星期每款车型每种颜色的销售数量解决方案
日期:2014-05-19 浏览次数:20831 次
要求统计某一年(输入参数)中每个星期每款车型每种颜色的销售数量
--------------------------------------------
create table #tb_car_typ( --车型表
ID int primary key,
Nam varchar(20))
insert #tb_car_typ select 1, '1.6LX '
union all select 2, '1.8GL(新) '
union all select 3, '1.6GL '
union all select 4, '1.7HRVW '
union all select 5, '1.6IEST '
--------------------------------------------
create table #tb_color(
ID int primary key,
Nam varchar(20))
insert #tb_color select 1, '黑 '
union all select 2, '红 '
union all select 3, '白 '
union all select 4, '绿 '
union all select 5, '金 '
--------------------------------------------
create table #tb_car( --车辆基本信息表
CarID varchar(20) primary key,
CarTypID int,
Color varchar(10))
insert #tb_car select '1001 ',1, '深红 '
union all select '1002 ',5, '铂金 '
union all select '1003 ',3, '皓白 '
union all select '1004 ',1, '墨绿 '
union all select '1005 ',4, '碳黑 '
union all select '1006 ',3, '浅红 '
union all select '1007 ',1, '深绿 '
--------------------------------------------
create table #tb_car_sale( --销车表
CarID varchar(20) ,
SellDate DateTime)
insert #tb_car_sale select '1001 ', '2007-2-1 '
union all select '1002 ', '2007-3-27 '
union all select '1003 ', '2007-1-14 '
union all select '1004 ', '2007-4-26 '
union all select '1005 ', '2007-2-3 '
union all select '1006 ', '2007-2-16 '
union all select '1007 ', '2007-3-1 '
--------------------------------------------
要求统计某一年(输入参数)中每个星期每款车型每种颜色的销售数量
说明:1.#tb_color里就是要统计的颜色;#tb_car中的颜色用like规则归类于#tb_color中的颜色
2.期望结果如下:(第一列是根据输入的年生成每个星期的时间段)
时间段 1.6LX黑 1.6LX红 1.6LX白 1.6LX绿 1.6LX金 1.8GL(新)黑 1.8GL(新)红......
2007-1-1~2007-1-7
2007-1-8~2007-1-14
2007-1-15~2007-1-21
------解决方案--------------------
这样行吗?
select 'color '=case j.Color
when '深红 ' then '红 '
when '铂金 ' then '金 '
when '皓白 ' then '白 '
when '墨绿 ' then '绿 '
when '碳黑 ' then '黑 '
when '浅红 ' then '红 '
when '深绿 ' then '绿 '
end ,datepart(ww,s.selldate) as d_week
from #tb_car_typ x ,#tb_car j,#tb_car_sale s
where j.CarTypID=x.id and s.carid=j.carid
order by datepart(ww,s.selldate),color
sql 2008 R2 设立维护计划后,每次备份后自动覆盖前一次备份文件