Código SQL:
Ver originalCREATE FUNCTION [dbo].[SplitApplication](@applicationid VARCHAR(2000))
RETURNS @RtnValue TABLE
(
Id INT IDENTITY(1,1),
DATA nvarchar(100)
)
AS
BEGIN
DECLARE @Cnt INT, @SplitOn nvarchar(5)
SET @SplitOn = ','
SET @Cnt = 1
While (Charindex(@SplitOn,@applicationid)>0)
BEGIN
INSERT INTO @RtnValue (DATA)
SELECT
DATA = ltrim(rtrim(SUBSTRING(@applicationid,1,Charindex(@SplitOn,@applicationid)-1)))
SET @applicationid = SUBSTRING(@applicationid,Charindex(@SplitOn,@applicationid)+1,len(@applicationid))
SET @Cnt = @Cnt + 1
END
INSERT INTO @RtnValue (DATA)
SELECT DATA = ltrim(rtrim(@applicationid))
RETURN
END
GO
how TO USE :
SELECT * FROM TABLE WHERE DATA IN (
SELECT * FROM SplitApplication('1,1,1,1')
)
En tu ejemplo se podria usar asi:
Código SQL:
Ver originalINSERT #idleppt SELECT [team],[YEAR],[week],0 FROM [RIA].[dbo].[ReportSapAll] WHERE [USER] IN (SELECT * FROM SplitApplication(@USER)) GROUP BY [team],[YEAR],[week]
Considerando que @user es la variable que trae 2 o mas posibles valores
P.S: debes de crear primero la funcion en sql server y despues hacer las pruebas ;)
P.S2: El codigo del procedure esta incompleto, falto la parte del create para ver cual era la variable con los 2 posibles valores ;)