The correlation name is specified multiple tim
Hi,
I have a function that allows for multivalue parameters.
I have a sp that needs to have multiple where clauses but if i have more than one it returns the error in the subject line.
My function which I found on the internet:
CREATE FUNCTION dbo.UDF_CharCommaSeparatedListToTable
(
@CommaSeparatedList VARCHAR(8000)
)
RETURNS @ParsedTableValue TABLE (TableValue VARCHAR(1000))
AS
BEGIN
DECLARE @TableValue VARCHAR(1000)
DECLARE @Pos INT
SET @CommaSeparatedList = LTRIM(RTRIM(@CommaSeparatedList))+ ','
SET @Pos = CHARINDEX(',', @CommaSeparatedList, 1)
IF REPLACE(@CommaSeparatedList, ',', '') <> ''
BEGIN
WHILE @Pos > 0
BEGIN
SET @TableValue = LTRIM(RTRIM(LEFT(@CommaSeparatedList, @Pos - 1)))
IF @TableValue <> ''
BEGIN
INSERT INTO @ParsedTableValue (TableValue)
VALUES (RTRIM(@TableValue))
END
SET @CommaSeparatedList = RIGHT(@CommaSeparatedList,
LEN(@CommaSeparatedList) - @Pos)
SET @Pos = CHARINDEX(',', @CommaSeparatedList, 1)
END
END
RETURN
END
The query that returns the error:
SELECT dbo.UserTable.UserID, dbo.UserTable.FirstName, dbo.UserTable.FamilyName,dept
FROM dbo.UserTable
INNER JOIN
dbo.UDF_CharCommaSeparatedListToTable(@param)b ON
RTRIM(b.TableValue) = UserTable.UserID
inner join dbo.UDF_CharCommaSeparatedListToTable(@dept)b ON
RTRIM(b.TableValue) = UserTable.dept
I need to create something like this:
SELECT dbo.UserTable.UserID, dbo.UserTable.FirstName, dbo.UserTable.FamilyName,dept
FROM dbo.UserTable
where userid in(25,85) and
dept in (28)
|