In my function, i use 2 parameters and i am getting result as null. kindly suggest to get the correct data
CREATE TABLE [dbo].[Table_Prod]( [Id] [int] NULL, [Code] [nchar](10) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[Table_Mat]( [Id] [int] NULL, [Code] [nchar](10) NULL, [MatCode] [nvarchar](50) NULL ) ON [PRIMARY] insert into [Table_Prod] values (1,'A-01'), (1,'B-01'), (1,'C-02'), (1,'D-02'),(1,'E-01'),(1,'E-02') insert into [Table_Mat] values (1,'A-01','AAA'),(1,'B-01','BBB'),(2,'A-01','AAA'),(2,'D-02','DDD'),(3,'A-01','AAA') CREATE function [dbo].fnList() RETURNS nvarchar(max) AS BEGIN DECLARE @retI nvarchar(max) DECLARE @retM nvarchar(max) SELECT @retI = STUFF((SELECT ''',''' + convert(varchar(100),ltrim(rtrim([Code]))) from Table_Prod for xml path('')),1,2,'') + '''' SELECT @retM = STUFF((SELECT distinct ',' + convert(varchar(100),[MatCode]) FROM [Table_Mat] WHERE [Code] in (@retI) -- WHERE [Code] in ('A-01','B-01','C-02','D-02','E-01','E-02') for xml path('')),1,1,'') RETURN (@retM) END
SELECT dbo.fnList()
is reutrning
------------------
NULL
Expected Result
------------------
AAA,BBB,DDD
ShanmugaRaj