具有多列的 SQL Pivot
需要有关 sql server 2008 中的数据透视子句的帮助。 我有一张包含以下信息的表格:
Weekno DayOfWeek FromTime ToTime 1 2 10:00 14:00 1 3 10:00 14:00 2 3 08:00 13:00 2 4 09:00 13:00 2 5 14:00 22:00 3 1 06:00 13:00 3 4 06:00 13:00 3 5 14:00 22:00
我想将其转换为如下所示的表格:
Week Start1 End1 Start2 End2 Start3 End3 Start4 End4 Start5 End5 Start6 End6 Start7 End7 1 10:00 14:00 10:00 14:00 2 08:00 13:00 09:00 13:00 14:00 22:00 3 06:00 13:00 06:00 13:00 14:00 22:00
有什么办法可以进行数据透视查询吗? 请写下回复并举例说明如何操作。
我很感谢对此提供的任何帮助。提前致谢。
Need help with the pivot clause in sql server 2008.
I have a table with this info:
Weekno DayOfWeek FromTime ToTime
1 2 10:00 14:00
1 3 10:00 14:00
2 3 08:00 13:00
2 4 09:00 13:00
2 5 14:00 22:00
3 1 06:00 13:00
3 4 06:00 13:00
3 5 14:00 22:00
I want to convert this into a table that looks like this:
Week Start1 End1 Start2 End2 Start3 End3 Start4 End4 Start5 End5 Start6 End6 Start7 End7
1 10:00 14:00 10:00 14:00
2 08:00 13:00 09:00 13:00 14:00 22:00
3 06:00 13:00 06:00 13:00 14:00 22:00
Is there any way to do with a pivot query?
Please write respond with an example on how to do it.
I appreciate any kind of help on this. Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是枢轴版本:
https://data.stackexchange.com/stackoverflow/query/7295 /so3241450
Here's the pivot version:
https://data.stackexchange.com/stackoverflow/query/7295/so3241450
我个人讨厌枢轴——难以阅读且笨拙。
它会把枢轴上的袜子吹掉;性能方面。
I personally hate pivots- hard to read and unweidly.
And it'll blow the socks off of a pivot; performance wise.
我认为 CASE WHEN 仅当只有唯一的 Weekno 和 DayofWeek 时才有效,因为它只会返回最新开始和结束时间的记录并过滤掉其余的。
示例
它将仅返回 DayofWeek 2 的 weekno 1 的第一行并跳过第二行。
I think the CASE WHEN will only work if there are only unique Weekno and DayofWeek as it will only return records of latest start and end time and filter out the rest.
Example
It will only return the first row of weekno 1 of DayofWeek 2 and skip the second row.