• I would diffently do the join. You can either use the XML I provided or a udf. I would prefer the xml though. I dont know how the performance will differ but XML get parsed extremely fast in 2005.

    DECLARE @x XML

    SET @x = '<i>' + REPLACE( @IDString, ',', '</i><i>') + '</i>'

    SELECT *

    FROM MyTable a

    INNER JOIN

    (SELECT x.i.value('.', 'VARCHAR(7)')

    FROM @x.nodes('//i') x(i)) b

    ON a.ID = b.ID

    Additionally, I dont know how you create your delmited string but XML can also do this very, very quickly. See below:

    DECLARE @IDString VARCHAR(MAX)

    SET @IDString =

    (SELECT (ID) + ','

    FROM MYTABLE

    --WHERE FILTER CAN GO HERE

    FOR XML PATH(''))