Sql server 旋转多列时需要T-SQL帮助
我有一张桌子Sql server 旋转多列时需要T-SQL帮助,sql-server,tsql,Sql Server,Tsql,我有一张桌子 City Region Zone Passcode SureveyBy SureveyDone SureveyExpiry Noida Sector 62 East 1 ABC Y NULL Noida Sector 2 West 1 XYZ N 6/10/2016 Delhi CP Cn
City Region Zone Passcode SureveyBy SureveyDone SureveyExpiry
Noida Sector 62 East 1 ABC Y NULL
Noida Sector 2 West 1 XYZ N 6/10/2016
Delhi CP Cnt 10 ABC N 10/10/2018
Delhi KB West 11 RST Y NULL
我需要这个格式的结果
源表是创建表Mytable City varchar50、Region varchar50、Zone varchar10、密码varchar50、SureveyBy varchar20、SureVeyOne varchar5、SureveyExpiry date
DECLARE @col NVARCHAR(max),@sql NVARCHAR(max)
SELECT @col=ISNULL(@col+',[','[')+t.SureveyBy+']' FROM dbo.myTable AS t GROUP BY t.SureveyBy
PRINT @col
SET @sql='
SELECT * FROM dbo.myTable
PIVOT(MAX(SureveyDone) FOR SureveyBy IN ('+@col+')) p'
EXEC(@sql)