Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Unpivot várias colunas de dados


Uma maneira mais fácil de desdinamizar os dados seria usar um CROSS APPLY para desdinamizar as colunas em pares:
select vendorid, orders, orders1
from pvt1
cross apply
(
  select emp1, sa union all
  select emp2, sa1
) c (orders, orders1);

Consulte SQL Fiddle with Demo . Ou você pode usar CROSS APPLY com a cláusula VALUES se não quiser usar UNION ALL:
select vendorid, orders, orders1
from pvt1
cross apply
(
  values 
    (emp1, sa),
    (emp2, sa1)
) c (orders, orders1);

Consulte SQL Fiddle with Demo