Sql server SQL Server将子查询替换为@parameter

Sql server SQL Server将子查询替换为@parameter,sql-server,Sql Server,我在何处跟踪子查询 AND ( EXISTS ( SELECT 1 FROM SHEMA.TABLE c CROSS APPLY [SHEMA].[Split](';', c.Configuration) s WHERE c.Id = ISNULL(@ConfigId, 1) AND LEFT(s.Valu

我在何处跟踪子查询

AND (
            EXISTS (
                SELECT 1
                FROM SHEMA.TABLE c
                CROSS APPLY [SHEMA].[Split](';', c.Configuration) s
                WHERE c.Id = ISNULL(@ConfigId, 1)
                    AND LEFT(s.Value, CHARINDEX(',', s.Value, 0) - 1) = RCC.ReportGroupComponentsId
                    AND RIGHT(Value, LEN(Value) - CHARINDEX(',', Value, 0)) = RCC.ReportComponentsId
                )
            OR RCC.Id IS NULL
            )
如何用字符串参数替换从SHEMA.TABLE读取的数据,该参数将包含拆分所需的所有数据


参数的格式为
'13151609;1315,250;1315,251;1315252’

总的来说,我想你想要:

AND EXISTS(SELECT 1
           FROM (VALUES(@parameter))c(Configuration)
                 CROSS APPLY [SHEMA].[Split](';', c.Configuration) s
           WHERE...) --without c.Id = ISNULL(@ConfigId, 1) as C.Id doesn't exist
请注意,我希望您的对象
[SHEMA].[Split]
是一个内联表值函数,而不是带有
WHILE
的多行表值函数