AS SELECT     dbo.Programs.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.Paths INNER JOIN
                      dbo.OccurrencesStmt INNER JOIN
                      dbo.Programs ON dbo.OccurrencesStmt.ProgID = dbo.Programs.ProgramID ON dbo.Paths.PathID = dbo.OccurrencesStmt.PathID INNER JOIN
                      dbo.Occurrences ON dbo.Programs.OccurID = dbo.Occurrences.OccurID INNER JOIN
		dbo.ProgramAliases ON dbo.ProgramAliases.ProgramId = dbo.Programs.ProgramID
			AND dbo.ProgramAliases.AliasType = 0
WHERE     ((dbo.OccurrencesStmt.StatementType = 20) OR
                      (dbo.OccurrencesStmt.StatementType = 39))
                      AND (dbo.Programs.ProgramTypeID = 1)
ORDER BY dbo.ProgramAliases.AliasName, dbo.Paths.PathStr, dbo.OccurrencesStmt.StartRow