Вам нужен перекрестный запрос. К сожалению, это нелегко сделать в SQL Server. В MS Access это очень просто (есть мастер, который поможет.)
Вам нужно будет использовать функцию PIVOT. Я использую хранимый процесс, как это:
CREATE PROCEDURE [dbo].[usp_pivot_sa_byHomeCare] AS
DECLARE @columns VARCHAR(1000)
SELECT @columns = COALESCE(@columns + ',[' + cast(HomeCareRating as varchar) + ']',
'[' + cast(HomeCareRating as varchar)+ ']')
FROM vw_sa_byHomeCare
GROUP BY HomeCareRating
--print @columns
DECLARE @query VARCHAR(8000)
SET @query = '
SELECT *
FROM vw_sa_byHomeCare
PIVOT
(
sum(count_pmin)
FOR [HomeCareRating]
IN (' + @columns + ')
)
AS p'
--print @query
EXECUTE(@query)
где мое представление (vw_sa_byHomeCare) - это представление, которое я хочу развернуть, HomeCareRating - это столбец для поворота, а сумма (count_pmin) - мое значение.