Du kan också göra pivoten så här:
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
Du bör inte göra en separat underfråga för varje värde.
pivot
uttalande är också ett mycket rimligt alternativ. Jag tenderar att hålla fast vid den explicita versionen (ovan), eftersom den ger mig mer flexibilitet när det gäller att lägga till kolumner.