AS SELECT DISTINCT 
Variables_1.VarID, 
Statements.Description AS StatementType, 
Programs_1.ProgramID, Programs_1.AliasName, 
ProgramArguments.VariableId AS OutputVarID, 
ProgramArguments.OrdinalPosition, 
Paths.PathStr, 
OccurrencesStmt.StartRow,
OutputVariables.Varsize,
programs_2.ProgramID, programs_2.AliasName,
Variables_1.VarName as paramName,
OutputVariables.VarName as argumentName
FROM (((((ProgramAliases AS Programs_1 INNER JOIN StatementReference AS StatementReference_2 ON Programs_1.ProgramID = StatementReference_2.ResourceID and Programs_1.AliasType = 0) 
INNER JOIN (((Statements INNER JOIN OccurrencesStmt ON Statements.StatementType = OccurrencesStmt.StatementType) 
INNER JOIN ProgramAliases AS Programs_2 ON OccurrencesStmt.ProgID = Programs_2.ProgramID and Programs_2.AliasType = 0) 
INNER JOIN (StatementReference AS StatementReference_1 
INNER JOIN Variables AS Variables_1 ON StatementReference_1.ResourceID = Variables_1.VarID) ON OccurrencesStmt.OccurID = StatementReference_1.OccurID) ON StatementReference_2.OccurID = OccurrencesStmt.OccurID) 
INNER JOIN StatementReference AS StatementReference_3 ON OccurrencesStmt.OccurID = StatementReference_3.OccurID) 
INNER JOIN CallParameters ON (Variables_1.VarID = CallParameters.VariableId) AND (StatementReference_3.ResourceID = CallParameters.ID)) 
INNER JOIN ProgramArguments ON (Programs_1.ProgramID = ProgramArguments.ProgId) AND (CallParameters.OrdinalPosition = ProgramArguments.OrdinalPosition)) 
INNER JOIN Paths ON OccurrencesStmt.PathID = Paths.PathID
INNER JOIN Variables as OutputVariables ON ProgramArguments.VariableId=OutputVariables.Varid 
WHERE ((Variables_1.VarID) In (Select * from #numeric_param_temp))
	AND (((StatementReference_2.ResourceType)=5) 
	AND ((StatementReference_1.ResourceType)=4) 
	AND ((StatementReference_3.ResourceType)=96))
ORDER BY Variables_1.VarID
