Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Unpivot plusieurs colonnes Données

Un moyen plus simple de ne pas pivoter les données serait d'utiliser une APPLIQUE CROISÉE pour ne pas pivoter les colonnes par paires :

select vendorid, orders, orders1
from pvt1
cross apply
(
  select emp1, sa union all
  select emp2, sa1
) c (orders, orders1);

Voir SQL Fiddle avec démo . Ou vous pouvez utiliser CROSS APPLY avec la clause VALUES si vous ne voulez pas utiliser UNION ALL :

select vendorid, orders, orders1
from pvt1
cross apply
(
  values 
    (emp1, sa),
    (emp2, sa1)
) c (orders, orders1);

Voir SQL Fiddle avec démo