SQL Server: группировать, создавать столбцы и сортировать по неделям

У меня есть таблица со счетом от футбольной команды. Эти баллы (в процентах) уже отсортированы в зависимости от недели игроком в неделю. Временная метка уже конвертирована, и теперь для одного игрока в неделю есть многократная оценка:

Week Player Score
 2013w51 Louis 12
 2013w51 Miguel 76
 2013w51 Miguel 21
 2013w51 Charles 62
 2013w52 ***** 21
 2013w52 Rodriguo 62
 . . .
 . . .
 . . .
 2014w2 Louis 52
 2014w2 Louis 85
 2014w2 Charles 65

Я хотел бы сортировать по игроку средний балл в неделю и за каждого игрока (общая сумма) следующим образом (учитывая, что неделя зафиксирована на 9 недель):

Player 2013w51 2013w52 2014w1 2014w2 ...
 Louis 14 58 62 68.5 ...
 Miguel 48.5 62 48 66 ...
 Charles 65 12 89 56 ...
 ***** 82 85 54 76 ...
 Rodriguo 16 56 76 29 ...

Благодарим вас за помощь

TDEV

РЕДАКТИРОВАТЬ:

Я использовал функцию PIVOT следующим образом.

SELECT *
 FROM
 ( SELECT [Player], [Week], [Score]
 FROM Temp_Db) AS SourceTable
 PIVOT
 (
 AVG([Average])
 FOR [Week] IN ([2013w51], [2013w52], [2014w1], [2014w2])
 ) AS PivotTable;
2 ответа

Я использовал функцию PIVOT следующим образом.

SELECT *
 FROM
 ( SELECT [Player], [Week], [Score]
 FROM Temp_Db) AS SourceTable
 PIVOT
 (
 AVG([Average])
 FOR [Week] IN ([2013w51], [2013w52], [2014w1], [2014w2])
 ) AS PivotTable;


declare @T table (week1 varchar (50), игрок varchar (50), оценка int)

вставлять в значения @T ('2013w51', 'Louis', 12)

вставить в значения @T ('2013w51', 'Louis', 50)

вставлять в значения @T ('2013w51', 'Louis', 13)

вставить в значения @T ('2013w5', '*****', 22)

вставить в значения @T ('2013w51', 'Louis', 50)

вставить в значения @T ('2013w5', '*****', 13)

выберите week1, player, AVG (оценка) как ColValue от @T

группа за неделю1, игрок

licensed under cc by-sa 3.0 with attribution.