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

Ẩn hàng có tất cả giá trị rỗng bằng cách sử dụng Dynamic Pivot

Bạn cần thêm điều kiện where vào truy vấn bên trong được sử dụng làm nguồn cho piovot và truy vấn danh sách cột

DECLARE @columns NVARCHAR(MAX)      
       ,@sql NVARCHAR(MAX)

SET @columns = N''
--Get column names for entire pivoting
SELECT @columns += N', ' + QUOTENAME(SpreadCol)
  FROM (select distinct Part_Number as SpreadCol 
        from test WHERE  Quantity IS NOT NULL 
       ) AS T
--select @columns
SET @sql = N'
SELECT SubPart, ' + STUFF(@columns, 1, 2, '') + '
FROM
(select SubPart , Part_Number as SpreadCol ,  Quantity
from test WHERE  Quantity IS NOT NULL  ) as D
PIVOT
(
  sum(Quantity) FOR SpreadCol IN ('
  + STUFF(REPLACE(@columns, ', [', ',['), 1, 1, '')
  + ')
) AS Pivot1
'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao chép lập trình các chỉ mục từ bảng này sang bảng khác trong SQL Server

  2. cách chỉ cập nhật ký tự đầu tiên trong SQL Server

  3. JSON_MODIFY () Ví dụ trong SQL Server (T-SQL)

  4. Sử dụng kết quả của thủ tục đã lưu trữ trong câu lệnh Chọn

  5. Tham chiếu đến Bí danh cột trong Mệnh đề WHERE