sql >> Databasteknik >  >> RDS >> Sqlserver

Dölj rad med alla nullvärden med Dynamic Pivot

Du måste lägga till where-villkoret till den inre frågan som används som källa för piovot och kolumnlistafrågan

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. Använda främmande nycklar för att ersätta kontrollbegränsning

  2. Hur ansluter man till PostgreSQL från Phoenix Web App via SSL?

  3. Vad är ett enkelt kommandoradsprogram eller skript för att säkerhetskopiera SQL-serverdatabaser?

  4. När ska jag använda UNSIGNED och SIGNED INT i MySQL?