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

Obróć wiele rzędów

Jesteś w 90% na drodze:

with cte as (
    select 
        id, 
        case [key] 
            when 'A' 
            then str_val 
        end as A, 
        case [key] 
            when 'B' 
            then str_val 
        end as B, 
        case [key] 
            when 'C' 
            then date_val 
        end as C, 
        case [key] 
            when 'D' 
            then num_val 
        end as D,
        case [key] 
            when 'E' 
            then str_val 
        end as E 
    from test_table
)
select id, max(A) as A, max(B) as B, max(C) as C, max(D) as D, max(E) as E
from cte
group by id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawianie tożsamości na serwerze połączonym nie powiodło się

  2. Odbuduj i zreorganizuj indeks SQL Server

  3. SQL Server DELETE — usuwanie jednego lub więcej wierszy z tabeli w nieco zaawansowanych scenariuszach

  4. Jak poprawić wydajność niedeterministycznej funkcji kolumny w klauzuli WHERE lub złączenia?

  5. SQL Server 2008 GET DATETIMEOFFSET zgodnie z ustawieniami maszyny