Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да конвертирате редове в колони в SQL Server?

Простото агрегиране трябва да направи:

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;

Или, ако желаете, можете да използвате pivot:

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. Настройка на изчакване за SQL Server

  2. ExecuteScalar срещу ExecuteNonQuery при връщане на стойност на идентичност

  3. T-SQL:Изтриване на всички дублиращи се редове, но запазване на един

  4. Любими трикове за настройка на производителността

  5. Не може да се свърже с SQL Server:Неуспешно влизане за потребител.