可怕的统计汇总之二
create table tb_car_sale(
CarID varchar(20) primary key,
TypID int,
Color varchar(10),
SellDate datetime)
insert tb_car_sale select '1001 ',1, '皓白 ', '2007-1-9 '
union all select '1002 ',2, '银 ', '2007-7-30 '
union all select '1003 ',1, '皓白 ', '2007-4-13 '
union all select '1004 ',1, '皓白 ', '2007-9-21 '
union all select '1005 ',4, '碳黑 ', '2007-2-17 '
union all select '1006 ',4, '水晶蓝 ', '2007-3-29 '
union all select '1007 ',7, '水晶蓝 ', '2007-7-9 '
---要统计的车型
create table tb_stat_type(
TypID int primary key,
TypNam varchar(20))
insert tb_stat_type select 1, 'L4 '
union all select 2, 'L4+ '
union all select 3, 'GL3.5 '
union all select 4, 'GL2.5 '
--要统计的颜色
create table tb_stat_color(
ColorID int primary key,
ColorNam varchar(10))
insert tb_stat_color select 1, '白 '
union all select 2, '银 '
union all select 3, '黑 '
union all select 4, '蓝 '
说明:1、销车表(tb_car_sale)里的车型、颜色可以是tb_stat_type、tb_stat_color之外的车型和颜色
2、只统计tb_stat_type、tb_stat_color中要求的车型和颜色,其中颜色用like规则匹配,比如水晶蓝=蓝
3、要统计某一年(输入参数)中每个星期每款车型每种颜色的销售数量,期望结果如下:
(除了时间、合计以外,应该还有16列:4款车型和4种颜色的组合为16列)
时间 L4白 L4银 L4黑 L4蓝 L4+白 L4+银 L4+黑 L4+蓝...合计
2007-1-1-2007-1-7
2007-1-8-2007-1-14 统计数据略....
2007-1-15-2007-1-21
2007-1-22-2007-1-28
要统计的年份的所有星期,
以下星期省略,
最后一行是 "总计 "!!!!
4.可以稍微变通...但大概的结构不能变
------解决方案--------------------太麻烦,不想写
送辆车我就写了,哪怕是最小的那种
------解决方案--------------------呵呵,天空老大甩大牌
------解决方案--------------------看题目比写代码还累....................
------解决方案--------------------繁
------解决方案--------------------好象是作业题啊,建议用企业管理器自己连线吧,然后手动改下线的条件
------解决方案--------------------结果用pb 写的话应该挺简单~
------解决方案--------------------看起来确实很头痛
太多了~~~
------解决方案--------------------可以分别写四个日期的 然后union 到一起,统计每一个的时候
Count(case when color = ' ' and typeNam= ' ' then CarID)