2010-05-26 52 views
0

我有这个表是这样的:如何在SQL中的此查询中进行旋转?

Name; Amount1, Amount, Rate1, Rate2 
Test; 1000; 2000; 1.0; 2.0 

我想显示为:

Parameter; Amount1; Rate1; Total 
'Parameter 1'; 1000; 1.0; 1000 
'Parameter 2'; 2000; 2.0; 4000 

BTW ...我使用SQL2K5。我能想到的只有CURSOR。任何其他解决方案的优雅方式?

感谢

回答

1
select *, Amount*rate Total from( 
select n parameter, case when n='parameter1' then amount1 else amount2 end Amount, 
     case when n='parameter1' then rate1 else rate2 end rate 
from tests t cross join (select 'parameter1' as n union all select 'parameter2') x 
) y