组数据按周和transpone通过
问题描述:
周一天
我有大约时间内登录反对的任务,像这样的数据表:表1 组数据按周和transpone通过
| TaskID | DateRec | Hours |
| 1 | 2017-10-08 | 3.5 |
| 1 | 2017-10-09 | 1 |
| 2 | 2017-10-09 | 5 |
| 1 | 2017-10-17 | 2.4 |
| 2 | 2017-10-17 | 2 |
| 5 | 2017-10-18 | 0.5 |
| 5 | 2017-10-19 | 2 |
的TaskID和DateRec的组合始终是唯一的。假设我的工作周从星期天开始,这意味着'2017-10-08'将是第1周的第一天,'2017-10-15'将是第2周的第一天,以此类推。我需要一群我小时的TaskID和星期,他们已登录,然后针对每个单独的周transpone的时间为七列由上周的一天,从1天到7天,像这样:
(10-08) (10-09) (10-10) (10-11) (10-12) (10-13) (10-14)
(Task 1, Week 1) (h) (h) (h) (h) (h) (h) (h)
(Task 2, Week 1) (h) (h) (h) (h) (h) (h) (h)
(10-15) (10-16) (10-17) (10-18) (10-19) (10-20) (10-21)
(Task 1, Week 2) (h) (h) (h) (h) (h) (h) (h)
(Task 2, Week 2) (h) (h) (h) (h) (h) (h) (h)
...
使在我的例子那就是:
| TaskID | Week Start Date | Day1 | Day2 | Day3 | Day4 | Day5 | Day6 | Day7 |
| 1 | 2017-10-08 | 3.5 | 1 | NULL | NULL | NULL | NULL | NULL |
| 2 | 2017-10-08 | NULL | 5 | NULL | NULL | NULL | NULL | NULL |
| 1 | 2017-10-15 | NULL | NULL | 2.4 | NULL | NULL | NULL | NULL |
| 2 | 2017-10-15 | NULL | NULL | 2 | NULL | NULL | NULL | NULL |
| 5 | 2017-10-15 | NULL | NULL | NULL | 0.5 | 2 | NULL | NULL |
是否有可能做SQL,和究竟如何?注:我使用Microsoft SQL Server 2012
谢谢。这将解决我的问题。你甚至不必使用GROUP BY子句! –
@ B.Sverediuk Nope。在PIVOT中的总和将为你做。 :) –