CREATE PROCEDURE GetContactsByQualities3 @Inc varchar(100), @Exc varchar(100) AS DECLARE @CntInc int, @SQL varchar(4000) SET @CntInc = LEN(@Inc) - LEN(REPLACE(@Inc, ',', '')) + 1 --PRINT @CntInc SET @SQL = 'SELECT * FROM Contacts c ' + 'WHERE ' + CAST(@CntInc AS varchar(20)) + ' = ' + '(SELECT COUNT(*) FROM ContactQualities WHERE contactid = c.id AND qualifierid IN (' + @Inc + '))' + '- (SELECT COUNT(*) FROM ContactQualities WHERE contactid = c.id AND qualifierid IN (' + @Exc + '))' EXECUTE (@SQL) RETURN 0
EXECUTE GetContactsByQualities3 @Inc = '1,5,11', @Exc = '2,6'