AS SELECT DISTINCT 
                      pa.ProgramID, pa.ProgramName, dbo.Paths.PathStr, dbo.OccurrencesStmt.StartRow, CASE WHEN dbo.Paths.PathID = Occurrences.PathID THEN 0 ELSE - 1 END AS IsCopy
FROM dbo.IfInfo INNER JOIN
          dbo.OccurrencesStmt ON dbo.IfInfo.OccurId = dbo.OccurrencesStmt.OccurID INNER JOIN
          dbo.Paths ON dbo.OccurrencesStmt.PathID = dbo.Paths.PathID INNER JOIN
          (SELECT Programs.ProgramID, ProgramAliases.AliasName AS ProgramName, Programs.OccurID 
				FROM dbo.Programs INNER JOIN ProgramAliases ON ProgramAliases.ProgramId = Programs.ProgramID and ProgramAliases.AliasType = 0)pa  
				ON dbo.OccurrencesStmt.ProgID = pa.ProgramID INNER JOIN
          dbo.Occurrences ON pa.OccurID = dbo.Occurrences.OccurID
WHERE (dbo.IfInfo.ProgId IN (Select * from #numeric_param_temp)) 
     AND ( (dbo.IfInfo.IfColumn <> dbo.IfInfo.ThenColumn) OR
                      (dbo.IfInfo.IfColumn <> dbo.IfInfo.ElseColumn) )
ORDER BY pa.ProgramName, dbo.Paths.PathStr, dbo.OccurrencesStmt.StartRow
                                           