select ServerName = 'Site1', *
from
(
select Totals, Site1
from Sometable
) d
pivot
(
max(Totals)
for Site1 in (Status1, Status2, Status3, Status4, Status5)
) piv;
EDIT:
あなたが動的サイト1列から値をロードする必要がある場合は、このようにそれを行うことができます。
CREATE table #yourtable
([Site1] varchar(20), [Totals] int)
;
INSERT INTO #yourtable
([Site1], [Totals])
VALUES
('Status1', 20),
('Status2', 45),
('Status3', 77),
('Status4', 55)
;
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT ',' + QUOTENAME(Site1)
from #yourtable
group by Site1
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = N'SELECT ServerName=''Site1'', ' + @cols + N' from
(
select Site1, Totals
from #yourtable
) x
pivot
(
max(Totals)
for Site1 in (' + @cols + N')
) p '
exec sp_executesql @query;
DEMO
'PIVOT'はありませんこの。可能性のあるステータス値が不明な場合は、このサイトで*動的ピボット*を検索してください。 –
Site1と合計が列見出しですか? – balaji