!!!求教SQL语句...怎样将拼出的字符串型 字段名 可用于查询?
表Tab1内有字段及数据   
 Type	P1	P2	P3 
 ------------------------------- 
 1	0.15	0.5	1.3 
 2	0.14	0.8	1.2 
 3	0.13	0.6	1.5   
 要求用Sql语句根据Type内容查出所对应的价格   
 select    'P '+Convert(varchar(50),Type)   价格   from   tab1 
                      -----------------------------   这段是自己拼出的字符串 
 要求得到结果   
 价格 
 ----------- 
 0.15 
 0.8 
 1.5   
 怎样将拼出的字符串型   字段名   可用于查询?
------解决方案--------------------很多字段?还是很多数据? 
------解决方案--------------------up
------解决方案--------------------declare @s varchar(1000) 
 set @s= 'select P '+ convert(varchar(50),type) +  ' 价格 from tab1 ' 
 exec(@s)
------解决方案--------------------declare @s varchar(2000),@i int,@cnt 
 select @cnt=count(*) from tab1 
 set @i=1 
 set @s= ' ' 
 while @i <@cnt 
 begin 
 select @s=@s+ 'select p '+cast(type as vachar)+ ' as 价格 from tab1 where type = '+cast(type as vachar)+ ' union all ' from tab1 where type=@i 
 set @i=@i+1 
 end 
 set @s=left(@s,len(@s)-10) 
 exec(@s)
------解决方案--------------------如果Type不多的話,可以這麼寫   
 Select 
 	Case Type When 1 Then P1  
 		When 2 Then P2 
 		When 3 Then P3 
 	End As 价格 
 From 
 	Tab1