Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak przekonwertować wiersze na kolumny w SQL Server?

Prosta agregacja powinna wystarczyć:

select id,
    max(case when flag = 'I' then datetime end) indatetime,
    max(case when flag = 'O' then datetime end) outdatetime
from t
group by id;

Lub jeśli chcesz, możesz użyć osi obrotu:

select id, [I] indatetime, [O] outdatetime
from t pivot (
    max(datetime) for flag in ([I],[O])
) as p


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać kopię zapasową lub utworzyć nową tabelę z istniejącej tabeli SQL Server w SQL Server - SQL Server / TSQL Tutorial, część 105

  2. Używanie CROSS APPLY dla więcej niż jednej kolumny

  3. Wyszukaj nazwę kolumny we wszystkich bazach danych

  4. Odmowa uprawnienia EXECUTE do typów tabel zdefiniowanych przez użytkownika?

  5. Sprawdź, czy tabela ma DEFAULT ograniczenie w SQL Server za pomocą OBJECTPROPERTY()