Skip to Content
0
Nov 05, 2021 at 03:49 AM

Where condition not working on PIVOT/CTE

97 Views

Hi all,

Probably something simple but im stumped at the moment.

In my following code the WHERE condition is not working when its like this.

declare @column as varchar(max)
declare @Query as varchar(max)
set @column= STUFF((Select '],['+ CAST(DocNum AS VARCHAR) from OPOR WHERE Comments LIKE '%%Comm%%' AND DocStatus = 'O' FOR XML PATH('')),1,2,'') +']'
set @Query='SELECT * FROM
(
SELECT
W.ItemCode,
CAST(q.DocNum AS VARCHAR) AS DocNum,
sum(w.Quantity) Stock
FROM
POR1 W
INNER JOIN OPOR Q ON Q.DocEntry = W.DocEntry
WHERE W.ItemCode LIKE 'CD%%'
GROUP BY W.ItemCode,Q.DocNum
) P
Pivot (
Sum(Stock)
FOR
DocNum in ('+@column+')) AS pvtb'
EXECUTE (@Query)

However if I change it to something like 'WHERE W.Quantity > 1' It works perfectly fine. Looking to filter out the items based on item code.

Any help is appreciated.

Nick