sql >> Databáze >  >> RDS >> Sqlserver

SQL Unpivot více sloupců Data

Jednodušší způsob, jak zrušit pivotování dat, by bylo použít CROSS APPLY k rozbalení sloupců v párech:

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

Viz SQL Fiddle s ukázkou . Nebo můžete použít CROSS APPLY s klauzulí VALUES, pokud nechcete použít UNION ALL:

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

Viz SQL Fiddle s ukázkou



  1. Důvody k optimismu ohledně budoucnosti Microsoft Access

  2. Funkce ATAN2() v Oracle

  3. Předejte heslo do mysql_config_editor pomocí proměnné v shellu

  4. Použijte SCOPE_IDENTITY() k vrácení naposledy vložené hodnoty identity ve stejném oboru (SQL Server)