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

Chuyển một số cột thành hàng bằng cách sử dụng pivot với SQL

Có một số điều sai với truy vấn của bạn.

Đầu tiên, bạn đang thiếu một chức năng tổng hợp trên PIVOT của mình. Bạn cần tổng hợp về propertyvalue .

Thứ hai, bạn cần bao quanh $row1 , v.v. có dấu ngoặc vuông không phải dấu ngoặc đơn.

Thứ ba, tôi sẽ sử dụng một bí danh khác cho as pivot

Kết quả là mã sẽ là:

select * 
from 
(
  select name, propertyvalue, displayname
  from indexrows
) a
pivot
(
  max(propertyvalue)
  for [displayname] in ([$row1], [$row2], [$row3])
) piv;

Xem SQL Fiddle with Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xác định mối quan hệ một-một trong SQL Server

  2. Tạo thời gian ngẫu nhiên riêng biệt trong khoảng thời gian cố định

  3. Xuất danh sách được phân tách bằng dấu phẩy trong T-SQL

  4. Làm thế nào để loại bỏ khoảng trắng đầu và cuối trong SQL Server - TRIM ()

  5. lưu trữ các tệp trong sql server 2008 bằng cách sử dụng tùy chọn dòng lọc