疯狂的SQL问题:如何使用数据透视交叉应用?

前端之家收集整理的这篇文章主要介绍了疯狂的SQL问题:如何使用数据透视交叉应用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
客户的数据中有快捷方式,他们在一个字段中有大量记录.当我解析它们时,我需要制作记录,每个数量一个,将“标识符”增加7天(因为数字表示日期.例如:单个产品销售四周,我需要四个记录,每周一件产品.

[活动编号]
[分类]
[周运行]
[一些数据]
2009 11 29 00
1
1
跑了一个星期
2009 12 06 00
2
1
跑了一个星期
2009 12 13 00
1
4
跑了四个星期
2009 12 20 00
2
4
跑了四个星期

不知何故,我需要将这些数据转换为以下视图(sql select)(所有在同一个表中,包含空格以查看部分:

[事件编号分类]
[一些数据]
2009 11 29 01
运行一周一周一个记录.
2009 12 06 02
跑了一个星期
2009 12 13 01
运行四周重复4次递增日期7
2009 12 20 01
跑了四个星期
2009 12 27 01
跑了四个星期
2009 01 03 01
跑了四个星期
2009 12 20 02
运行四周重复4次递增日期7
2009 12 27 02
跑了四个星期
2009 01 03 02
跑了四个星期
2009 01 10 02
跑了四个星期

我的想法是有一些数据交叉应用sql代码

解决方法

我有一个便宜的答案给你.您使用“预渲染”Weeks表来创建基于查询的循环.您需要花费足够的时间来覆盖预期的方案范围.
[Week]
1
2
3
4

然后使用不等式OriginalTable.WeeksRunning< = Weeks.Week将您在[Weeks Running]上的查询加入到此表中.你最终每周排成一排. 您可以通过将Weeks.Week * 7天添加到事件编号中嵌入的日期来推断日期.

猜你在找的MsSQL相关文章