我有一个非常简单的查询,它只是从表中获取记录,输出是这样的:
ID group StatusType Task DateAdministered ScoreA ScoreB
5199 MSP Completed Follow Up Contact 2011-04-01 00:00:00.000 2 5
5199 MSP Completed Follow Up Contact 2011-06-02 00:00:00.000 2 7
5199 MSP Completed Follow Up Contact 2011-06-02 00:00:00.000 2 8
5199 MSP Completed Follow Up Contact 2011-06-02 00:00:00.000 2 7
5199 MSP Completed Follow Up Contact 2011-04-28 00:00:00.000 4 8
5199 MSP Completed Follow Up Contact 2011-06-02 00:00:00.000 2 7
5199 MSP Completed Follow Up Contact 2011-05-19 00:00:00.000 2 7
5199 MSP Completed Follow Up Contact 2011-05-26 00:00:00.000 3 7
5199 MSP Completed Follow Up Contact 2011-06-02 00:00:00.000 3 7
5199 MSP Completed Follow Up Contact 2011-06-09 00:00:00.000 1 6
5199 MSP Completed Follow Up Contact 2011-06-15 00:00:00.000 3 5
5199 MSP Completed Follow Up Contact 2011-06-23 00:00:00.000 2 6
5199 MSP Completed Follow Up Contact 2011-06-30 00:00:00.000 1 6
5199 MSP Completed Follow Up Contact 2011-07-07 00:00:00.000 4 6
5199 MSP Completed Follow Up Contact 2011-07-14 00:00:00.000 3 6
5199 MSP Completed Follow Up Contact 2011-07-21 00:00:00.000 2 7
我需要做的是根据每个 ID、组、StatusType 和 Task 的 DateAdministered 的特定年份最接近月底的日期将数据重新组织成列而不是行。换句话说,如果 4 月份的任务有两行,我将需要这两个的最大日期以及关于 ScoreA 和 ScoreB 的报告。对五月、六月等做同样的事情......
最终结果应如下所示:
ID group StatusType Task April Assessment ScoreA ScoreB May Assessment ScoreA ScoreB June Assessment ScoreA ScoreB July Assessment ScoreA ScoreB
5199 MSP Completed Follow Up Contact 4/1/2011 2 5 5/26/2011 3 7 6/30/2011 1 6 7/21/2011 2 7
我已经尝试了几件事,但我不确定最好的方法。这几乎看起来像是一个支点,但不需要求和或添加任何列,所以我不确定如果我需要支点会如何工作。