Можете също да направите завъртането по този начин:
select workweek,
sum(case when Catg = 'Cat1' then cost end) as Cat1TotalCost,
sum(case when Catg = 'Cat2' then cost end) as Cat2TotalCost,
sum(case when Catg = 'Cat3' then cost end) as Cat3TotalCost
from DataTable
group by Workweek
Не трябва да правите отделна подзаявка за всяка стойност.
pivot
твърдението също е много разумна алтернатива. Склонен съм да се придържам към изричната версия (по-горе), защото ми дава повече гъвкавост при добавяне на колони.