我在查询中有5个字段。
员工,项目ID,年,月和日
我需要将所有查询数据放入报表中,其中数据按年,月和员工排序,每个项目ID都需要放在适当的日期。
My Query:
Alice | P555 | 2014 | 11 November | 29
Darth | P999 | 2014 | 12 December | 27
Bob | P555 | 2014 | 12 December | 28
Darth | P555 | 2014 | 12 December | 29
Alice | P999 | 2014 | 12 December | 29
Bob | P999 | 2014 | 12 December | 29
Alice | P999 | 2014 | 12 December | 30
Alice | P555 | 2015 | 1 January | 3
Alice | P999 | 2015 | 1 January | 4
Darth | P555 | 2015 | 1 January | 4
需要看起来像这样。
Calendar Report:
2014
11 November 1 | 2 | ... | 28 | 29 | 30
Alice | | ... | | P555 |
12 December 1 | 2 | ... | 27 | 28 | 29 | 30 | 31
Alice | | ... | | | P999 | P999 |
Bob | | ... | | P555 | P999 | |
Darth | | ... | P999 | | P555 | |
2015
1 January 1 | 2 | 3 | 4 | 5 | ... | 30
Alice | | P555 | P999 | | ... |
Darth | | | P555 | | ... |
我可以使用Year,Month和Employee创建行,但是我不知道如何创建列或者在创建它们之后如何添加项目ID。任何正确方向的推动将不胜感激! :)
答案 0 :(得分:1)
交叉表查询应该让您非常接近您想要的内容
TRANSFORM First(Calendar.[Project ID]) AS [FirstOfProject ID]
SELECT Calendar.Year, Calendar.Month, Calendar.Employee
FROM Calendar
GROUP BY Calendar.Year, Calendar.Month, Calendar.Employee
PIVOT Calendar.Day;
我不太明白为什么你不只是使用日期时间字段而不是分出年,月和日。