Si probaste creando la funcion?? porque se me hace raro que no tengas los permisos para crear temporales ni siquiera en una funcion de retorno de tabla...
La otra es que lo hagas con un query dinamico algo asi:
Código SQL:
Ver originalDECLARE @query VARCHAR(MAX)
SET @query='SELECT DISTINCT res.id, res.perfil
FROM dbo.TBL_1 res,
dbo.TBL_2 cam,
dbo.TBL_3 een
WHERE res.PK_CAM_ID = cam.PK_ID AND
cam.CAM_COD IN ( ' + @parametros + ' )'
EXEC Sp_sqlExec @query
Saludos!