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

Скриване на ред с всички нулеви стойности с помощта на Dynamic Pivot

Трябва да добавите условието where към вътрешната заявка, която се използва като източник за piovot и заявката за списък с колони

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. SQL заявка - Променете формата на датата в заявката на ДД/ММ/ГГГГ

  2. Управление на MDF файлове в SQL Server 2019

  3. Как да премахна акцентите и всички знаци <> a..z в sql-сървър?

  4. SQL заявка за броене на записи на месец

  5. Няма процес в другия край на тръбата