--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([日期] Date,[设备] nvarchar(30),[设备温度] int)
Insert #T
select '20171120',N'SQM711LM01',1 union all
select '20171120',N'SQM711LM02',2 union all
select '20171120',N'SQM711LM03',3 union all
select '20171121',N'SQM711LM01',4 union all
select '20171121',N'SQM711LM02',5 union all
select '20171121',N'SQM711LM03',6 union all
select '20171122',N'SQM711LM01',7 union all
select '20171122',N'SQM711LM02',8 union all
select '20171123',N'SQM711LM08',9 union all
select '20171123',N'SQM711LM09',10
Go
--测试数据结束
declare @sql varchar(8000)
set @sql='select 日期'
select @sql=@sql+' , max(case 设备 when '''+ 设备 +''' then 设备温度 else 0 END) [ 设备'+ 设备 +'温度]'
from (select distinct 设备 from #T) as a
set @sql=@sql+' from #T group by 日期'
exec(@sql)