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

Jak převést řádky na sloupce v SQL Server?

Jednoduchá agregace by měla fungovat:

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;

Nebo Pokud chcete, můžete použít pivot:

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


  1. Postgresql:FATAL:role neexistuje

  2. Postgres:Odlišné, ale pouze pro jeden sloupec

  3. Jak vytisknout VARCHAR(MAX) pomocí Print Statement?

  4. Jak určit týden čtvrtletí v dotazu Oracle