DECLARE
@S VARCHAR(8000), @Split CHAR(1), @leng BIGINT,
@percoll VARCHAR(8000), @cnt BIGINT
SET
@Str = '4,5,6,7'
SET
@Split =','
SET
@leng = (SELECT COUNT(*) FROM dbo.SplitString(@Str, @Split))
DECLARE
@temp TABLE
(
ID BIGINT IDENTITY(1,1), RoleID BIGINT, count INT
)
INSERT
INTO @temp
SELECT
* FROM (
SELECT RoleID, COUNT(*) AS [Count] FROM [dbo].[TBL_Role] GROUP BY RoleID
) AS INNERTABLE
WHERE
[count] = @leng
SET
@cnt = (SELECT COUNT(*) FROM @temp)
IF(@cnt > 0)
BEGIN
WHILE(@cnt > 0)
BEGIN
SELECT * FROM [TBL_Role] WHERE RoleID = (SELECT RoleID FROM @temp WHERE ID = @cnt)
SET @cnt = @cnt - 1
END
END