@RootID integer
AS SELECT DISTINCT SPNS_RulesetDefinition.RootID, 
	SPNS_RulesetDefinition.RulesetNo, 
	SPNS_ClassInComposite.ClassNo, 
	SPNS_ClassInComposite.CompositeNo, 
	SPNS_RuleWithinRulesetDefinition.RuleName, 
	SPNS_ClassDefinition.ClassName,
	SPNS_ClassInComposite.TableName,
	SPNS_ClassInComposite.ParentClassNo,
	ParentClassDefinition.ClassName [ParentClassName]
FROM SPNS_RulesetDefinition 
		INNER JOIN SPNS_RuleWithinRulesetDefinition ON SPNS_RulesetDefinition.RootID = SPNS_RuleWithinRulesetDefinition.RootID 
								AND SPNS_RulesetDefinition.RulesetNo = SPNS_RuleWithinRulesetDefinition.RulesetNo 
		INNER JOIN SPNS_ClassInComposite ON SPNS_RuleWithinRulesetDefinition.RootID = SPNS_ClassInComposite.RootID 
								AND SPNS_RuleWithinRulesetDefinition.TargetComposite = SPNS_ClassInComposite.CompositeNo 
								AND SPNS_RuleWithinRulesetDefinition.TargetClass = SPNS_ClassInComposite.ClassNo
		INNER JOIN SPNS_ClassDefinition ON SPNS_ClassDefinition.ClassNo = SPNS_ClassInComposite.ClassNo
								AND SPNS_ClassDefinition.RootID = SPNS_ClassInComposite.RootID 
		LEFT JOIN SPNS_ClassDefinition AS ParentClassDefinition ON ParentClassDefinition.ClassNo = SPNS_ClassInComposite.ParentClassNo
								AND ParentClassDefinition.RootID = SPNS_ClassInComposite.RootID
WHERE (SPNS_RulesetDefinition.RootID = @RootID)
		AND SPNS_RulesetDefinition.RulesetNo IN (select * from  #numeric_param_temp)