从下表中算出数据结果来,下表表名为“交叉表结果”货号 出货价格 20060214 20060215 20060216
1000021 0.613 6756
1000021 0.612 5912 4321
1000021 0.611 37628 2315
1000021 0.61 7928 3428
1000021 0.609 3494 9990 6790
1000021 0.608 17181 4366
1000021 0.607 9958 2066
1000021 0.606 935
1000021 0.605 859
1000021 0.601
1000022 1.3 457
1000022 1.299 887 865
1000022 1.298 1332
1000022 1.297 540 607 1756
1000022 1.296 607 1043 976
1000022 1.295 1280 2231 735
1000022 1.293 976 900
1000022 1.291 507
1000022 1.29 420
1000022 1.289
要实现的查询结果是:货号 20060214 20060215 20060216
000021 a1 b1 c1
000022 a2 b2 c2
000023 a3 b3 c3其中20060214列的数据我能这样算出来:SELECT 货号, (MAX(出货价格) - MIN(出货价格)+(case left("货号",1) when 1 then 0.001 else 0.01 end)) / SUM([20060214])
AS '20060214'
FROM dbo.交叉表结果
WHERE [20060214] IS NOT NULL
GROUP BY 货号
ORDER BY 货号
现在请教各位,怎样得到一张表中能包含很多列的数据(比如象示例表一样,含有20060215、20060216、20060217·····等等)
急!
谢谢高人指点!bow!
1000021 0.613 6756
1000021 0.612 5912 4321
1000021 0.611 37628 2315
1000021 0.61 7928 3428
1000021 0.609 3494 9990 6790
1000021 0.608 17181 4366
1000021 0.607 9958 2066
1000021 0.606 935
1000021 0.605 859
1000021 0.601
1000022 1.3 457
1000022 1.299 887 865
1000022 1.298 1332
1000022 1.297 540 607 1756
1000022 1.296 607 1043 976
1000022 1.295 1280 2231 735
1000022 1.293 976 900
1000022 1.291 507
1000022 1.29 420
1000022 1.289
要实现的查询结果是:货号 20060214 20060215 20060216
000021 a1 b1 c1
000022 a2 b2 c2
000023 a3 b3 c3其中20060214列的数据我能这样算出来:SELECT 货号, (MAX(出货价格) - MIN(出货价格)+(case left("货号",1) when 1 then 0.001 else 0.01 end)) / SUM([20060214])
AS '20060214'
FROM dbo.交叉表结果
WHERE [20060214] IS NOT NULL
GROUP BY 货号
ORDER BY 货号
现在请教各位,怎样得到一张表中能包含很多列的数据(比如象示例表一样,含有20060215、20060216、20060217·····等等)
急!
谢谢高人指点!bow!
如果你的列命名是有规则的都类似20060216这样的,那样你可以借用系统表,找到你需要的列,是可以做到你需要的效果的
另,列名的命名规则是按日期来的,但不是每天都有销售数据,所以有时又会有几天是空的。
或者,借助临时表有没办法实现呢,请高人帮我看看。