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

Více sloupců Pivot v T-SQL

Přepište pomocí MAX(CASE...) a GROUP BY:

select 
  field1
, [1] = max(case when RowID = 1 then field2 end)
, [2] = max(case when RowID = 2 then field2 end)
, [3] = max(case when RowID = 3 then field2 end)
, [4] = max(case when RowID = 4 then field2 end)
from (
  select 
    field1
  , field2
  , RowID = row_number() over (partition by field1 order by field2)
  from tblname
  ) SourceTable
group by 
  field1

Odtud můžete přidat pole3, pole4 atd.



  1. CHYBA:neukončený řetězec v uvozovkách na nebo blízko

  2. Jaký je význam otazníku v MySQL ve sloupci WHERE =??

  3. Automaticky otevírat výsledky dotazů SQLite v Excelu

  4. Chyba mySQL 1040:Příliš mnoho připojení