Вы можете использовать PIVOT
и агрегацию в любом случае.Попробуйте это:
SELECT *
FROM (SELECT name, HourOfDay, Score FROM YourTable) YT
PIVOT(MIN(Score) FOR HourOfDay IN ([1],[2],[3],.....,[24])) AS PT
Вы можете использовать MIN
или MAX
, поскольку результат должен быть одинаковым.