if(object_id('qa') > 0)
drop table qa
go
create table qa(
qtcode varchar(100),
simpleTime varchar(20),
water decimal(18,2)
)
insert into qa
select 'a','09:10',11 union all
select 'a','10:01',22 union all
select 'a','10:20',33 union all
select 'a','10:30',44 union all
select 'a','10:40',55 union all
select 'b','08:10',12 union all
select 'b','10:01',13 union all
select 'b','10:02',14 union all
select 'b','10:20',15
select * from qa
declare @sql varchar(3000)
set @sql = 'select qtcode ';
select @sql = @sql + ' ,(case simpleTime when '''+simpleTime+''' then water else 0 end) ['+simpleTime+']'
from (select distinct simpleTime from qa) as a
set @sql = @sql+' from qa '
exec(@sql)
declare @sql1 varchar(3000)
set @sql1 = 'select qtcode ';
select @sql1 = @sql1 + ' ,max(case simpleTime when '''+simpleTime+''' then water else 0 end) ['+simpleTime+']'
from (select distinct simpleTime from qa ) as a
set @sql1 = @sql1+' from qa group by qtcode '
exec(@sql1)