sql >> Database >  >> RDS >> Sqlserver

Draaien van meerdere kolommen in T-SQL

Herschrijf met MAX(CASE...) en 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

Van daaruit kunt u veld3, veld4, enz. toevoegen.



  1. Een datetime-kolom in SQL Server nodig die automatisch wordt bijgewerkt wanneer de record wordt gewijzigd

  2. Fix “SQL Server blokkeerde toegang tot VERKLARING ‘OpenRowset/OpenDatasource’ van component ‘Ad Hoc Distributed Queries’

  3. JSON codeert MySQL-resultaten

  4. Hoe Tanh() werkt in PostgreSQL