sql >> Database teknologi >  >> RDS >> Sqlserver

Skjul række med alle nulværdier ved hjælp af Dynamic Pivot

Du skal tilføje where-betingelsen til den indre forespørgsel, som bruges som kilde til piovot og kolonnelisteforespørgslen

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. Hvordan laver du fuldtekstsøgning (FTS) med Linq til ADO.NET entity framework?

  2. Foreign Key begrænsning

  3. Hvordan får man dummy-værdi for XML-tom tag i tabel ved hjælp af Oracle?

  4. Konvertering af årets dag til en dato, hvor nogle datoformater har DDYYYY og nogle har DDDYYYY i oracle