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

Pivot върху обединени таблици SQL Server

Ето алтернативна опция за PIVOT вашите резултати с помощта на MAX с CASE което не изисква присъединяване на таблицата обратно към себе си:

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. Неявни преобразувания и закръгляния

  2. Как да коригирате „В списъка за избор може да бъде посочен само един израз…“ в SQL Server

  3. Как да добавя първичен ключ auto_increment в базата данни на SQL Server?

  4. Как да премахнете обекти за поддръжка на диаграми от SQL Server?

  5. Кръстосана заявка с динамични колони в SQL Server 2008