AS SELECT     dbo.ProgramAliases.ProgramID, dbo.ProgramAliases.AliasName AS ProgramName, dbo.Paths.PathStr, 1 AS StartRow, 0 AS IsCopy
FROM         dbo.Programs INNER JOIN
                      dbo.Occurrences ON dbo.Programs.OccurID = dbo.Occurrences.OccurID INNER JOIN
                      dbo.Paths ON dbo.Occurrences.PathID = dbo.Paths.PathID INNER JOIN
                      dbo.ProgramAliases ON dbo.ProgramAliases.ProgramId = dbo.Programs.ProgramID
                        AND dbo.ProgramAliases.AliasType = 0
WHERE     (NOT (dbo.Programs.ProgramID IN
                          (SELECT DISTINCT Programs_1.ProgramID
                            FROM          dbo.Programs AS Programs_1 INNER JOIN
                                                   dbo.OccurrencesStmt AS OccurrencesStmt ON Programs_1.ProgramID = OccurrencesStmt.ProgID
                            WHERE      (OccurrencesStmt.StatementType = 21)))) AND (dbo.Programs.ProgramID IN (Select * from #numeric_param_temp))
UNION
SELECT     dbo.ProgramAliases.ProgramID, dbo.ProgramAliases.AliasName AS ProgramName, dbo.Paths.PathStr, dbo.OccurrencesStmt.StartRow, 
                      CASE WHEN dbo.Paths.PathID = Occurrences.PathID THEN 0 ELSE - 1 END AS IsCopy
FROM         dbo.Paragraphs INNER JOIN
                      dbo.Sections INNER JOIN
                      dbo.Programs ON dbo.Sections.ProgramID = dbo.Programs.ProgramID ON dbo.Paragraphs.SectionID = dbo.Sections.SectionID INNER JOIN
                      dbo.ProgramAliases ON dbo.ProgramAliases.ProgramId = dbo.Programs.ProgramID 
                        AND dbo.ProgramAliases.AliasType = 0 INNER JOIN
                      dbo.Paths INNER JOIN
                      dbo.OccurrencesStmt ON dbo.Paths.PathID = dbo.OccurrencesStmt.PathID ON dbo.Paragraphs.ParaID = dbo.OccurrencesStmt.ParaID INNER JOIN
                      dbo.Occurrences ON dbo.Programs.OccurID = dbo.Occurrences.OccurID
WHERE     (dbo.OccurrencesStmt.StatementType = 21) 
		AND (dbo.Sections.Successor > 1) 
		AND (dbo.Programs.ProgramID IN (Select * from #numeric_param_temp))
ORDER BY dbo.ProgramAliases.AliasName, dbo.Paths.PathStr