Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie konvertiert man Zeilen in Spalten in SQL Server?

Einfache Aggregation sollte ausreichen:

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;

Oder wenn Sie möchten, können Sie Pivot verwenden:

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