AS SELECT DISTINCT Variables.VarID, StatementReference_1.ResourceType
FROM  (StatementReference StatementReference_1 INNER JOIN
      StatementReference StatementReference_2 
      		ON StatementReference_1.OccurID = StatementReference_2.OccurID) INNER JOIN
      Variables ON StatementReference_2.ResourceID = Variables.VarID
WHERE ((StatementReference_2.ResourceType = 4) 
      AND (Variables.VarID IN (Select * from #numeric_param_temp)))
UNION
SELECT DISTINCT ProgramArguments.VariableId, StmtRef1.ResourceType
FROM ProgramArguments inner join CallParameters on CallParameters.OrdinalPosition=ProgramArguments.OrdinalPosition 
 INNER JOIN StatementReference StmtRef2 on StmtRef2.ResourceID=CallParameters.id
 INNER JOIN StatementReference StmtRef1 ON StmtRef2.OccurID=StmtRef1.OccurID
WHERE ProgramArguments.VariableId in (Select * from #numeric_param_temp)
	AND StmtRef2.ResourceType=96
UNION
SELECT DISTINCT Variables.VarID, 1000 as ResourceType
FROM  Variables 
WHERE ((Variables.szValues <> 'NULL') 
      AND (Variables.VarID IN (Select * from #numeric_param_temp)))
ORDER BY StatementReference_1.ResourceType