日期:2014-05-18  浏览次数:20668 次

一个用标题描述不清楚的问题
我要统计近4个星期所有车型(包括没有销售记录的)的销售数据,每个星期的数据格式如下:
(假设GL1   --   GL4就是所有的车型了)
    车型     黑   白     红   绿     合计    
    GL1         1     1       2     0       4
    GL2         0     2       1     0       3
    GL3         0     2       2     1       5
    GL4         2     0       0     0       2

这样两个星期的横向连接就型如:(车型列重复)
    车型     黑   白     红   绿     合计车型     黑   白     红   绿     合计
    GL1         1     1       2     0       4     GL1         0     2       2     1       5
    GL2         0     2       1     0       3     GL2         1     0       1     0       2
    GL3         0     2       2     1       5     GL3         0     1       0     0       1
    GL4         2     0       0     0       2     GL4         1     3       0     0       4

而车的颜色是动态生成的,不一定是黑,白,红,绿...

那么,我怎么去掉其他星期的车型列???

------解决方案--------------------
--这样
select a.车型,
a.黑,a.白,a.红,a.绿,a.合计,
b.黑,b.白,b.红,b.绿,b.合计,
c.黑,c.白,c.红,c.绿,c.合计,
d.黑,d.白,d.红,d.绿,d.合计
from ...
------解决方案--------------------
select t1.*,t2.*,t3.*,t4.* from
(select 车型,黑,白,红,绿,合计 from tb where date = '第一个星期 ') t1
left join
(select 车型,黑,白,红,绿,合计 from tb where date = '第二个星期 ') t2
on t1.车型 = t2.车型
left join
(select 车型,黑,白,红,绿,合计 from tb where date = '第三个星期 ') t3
on t1.车型 = t3.车型
left join
(select 车型,黑,白,红,绿,合计 from tb where date = '第四个星期 ') t4
on t1.车型 = t4.车型


------解决方案--------------------
帮顶一下~~