Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Nhiều cột Pivot trong T-SQL

Viết lại bằng MAX (CASE ...) và GROUP BY:

select 
  field1
, [1] = max(case when RowID = 1 then field2 end)
, [2] = max(case when RowID = 2 then field2 end)
, [3] = max(case when RowID = 3 then field2 end)
, [4] = max(case when RowID = 4 then field2 end)
from (
  select 
    field1
  , field2
  , RowID = row_number() over (partition by field1 order by field2)
  from tblname
  ) SourceTable
group by 
  field1

Từ đó, bạn có thể thêm vào field3, field4, v.v.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tránh lỗi chia cho 0 trong SQL?

  2. Cách chuyển đổi chữ thường thành chữ hoa trong SQL Server - UPPER ()

  3. Chuỗi định dạng ngày / giờ tùy chỉnh được hỗ trợ bởi FORMAT () trong SQL Server

  4. SQL Server Lock Escalation

  5. Tại sao tên bảng trong SQL Server bắt đầu bằng dbo?