2010-05-26 6 views
0

Je possède ce tableau comme ceci:Comment faire pivoter dans cette requête en SQL?

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

Je veux afficher dans:

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

BTW ... J'utilise SQL2K5. Tout ce que je peux penser est CURSOR. Toute autre solution de manière élégante?

Merci

Répondre

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 
Questions connexes