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

Sự cố trong máy chủ xoay vòng động + sql 2005

Bạn có thể tạo truy vấn động:

declare @installment_list varchar(max)
select @installment_list = IsNull(@installment_list,'') + 
    '[' + cast(Installment as varchar(32)) + '],'
from #tbl
group by Installment

-- Remove last comma
set @installment_list = left(@installment_list,len(@installment_list)-1)

declare @dynquery varchar(max)
set @dynquery = 'select * ' +
    'from #tbl ' +
    'pivot ( ' +
    '   max([Installment]) ' +
    '   for [Installment] ' +
    '   in (' + @installment_list + ') ' +
    ') as pvt'

exec (@dynquery)

Lưu ý rằng các biến bảng không hiển thị bên trong thi hành (), vì vậy tôi đã thay đổi thành một biến tạm thời (#tbl thay vì @tbl).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PIVOT động, Kết quả trả về từ JOIN của hai bảng

  2. 4 byte không dấu int trong SQL Server?

  3. Lấy tất cả các tên bảng của một cơ sở dữ liệu cụ thể bằng truy vấn SQL?

  4. Dù sao để tạo một trình kích hoạt DDL SQL Server cho các câu lệnh SELECT?

  5. Làm thế nào để tạo một thủ tục được lưu trữ với schemabinding?