I have created a CTE (common table Expression) as follows:
DECLARE @N VARCHAR(100)
WITH CAT_NAM AS (
SELECT ID, NAME
FROM TABLE1
WHERE YEAR(DATE) = YEAR(GETDATE())
)
SELECT @N = STUFF((
SELECT ','''+ NAME+''''
FROM CAT_NAM
WHERE ID IN (20,23,25,30,37)
FOR XML PATH ('')
),1,1,'')
The result of above CTE is 'A','B','C','D','F'
Now I need to check 4 different columns CAT_NAM_1,CAT_NAM_2,CAT_NAM_3,CAT_NAM_4 in the result of CTE and form it as one column like follow:
Select
case when CAT_NAM_1 in (@N) then CAT_NAM_1
when CAT_NAM_2 in (@N) then CAT_NAM_2
when CAT_NAM_3 in (@N) then CAT_NAM_3
when CAT_NAM_4 in (@N) then CAT_NAM_4
end as CAT
from table2
When I'm trying to do the above getting error please help me to do. If my approach is wrong help me with right one.