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

Pivot na połączonych tabelach SQL Server

Oto alternatywna opcja dla PIVOT Twoje wyniki przy użyciu MAX z CASE to nie wymaga ponownego dołączenia do stołu:

select t.id1, t.id2, t.a, t.b, 
    max(case when t2.name = 'C1' then t2.vint end) c1,
    max(case when t2.name = 'C2' then t2.vstring end) c2,
    max(case when t2.name = 'C3' then t2.vdata end) c3
from tab1 t
    left join tab2 t2 on t.id1 = t2.id1 and t.id2 = t2.id2 
group by t.id1, t.id2, t.a, t.b



  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 używać PHP do łączenia się z serwerem sql

  2. Funkcje SQL — rejestrowanie

  3. Wykonywanie zadania SQL Server Agent z procedury składowanej i zwracanie wyniku zadania

  4. Jakie są problemy z łączeniem dwóch tabel w dwóch różnych bazach danych?

  5. Wywołaj procedurę składowaną z parametrem wycenianym w tabeli z java