AS SELECT DISTINCT AdabasFiles.FileNumber, AdabasDatabases.DBNumber, AdabasFiles.FileID 
FROM StatementReference INNER JOIN OccurrencesStmt ON StatementReference.OccurID = OccurrencesStmt.OccurID AND StatementReference.ResourceType = 62
 INNER JOIN Programs ON OccurrencesStmt.ProgID = Programs.ProgramID 
 INNER JOIN AdabasView ON StatementReference.ResourceID = AdabasView.ViewID
 INNER JOIN AdabasFiles ON AdabasFiles.FileID=AdabasView.AdabasFileID
 INNER JOIN AdabasDatabases ON AdabasDatabases.AdabasDBID=AdabasFiles.AdabasDBID
WHERE Programs.ProgramTypeID = 1 
GROUP BY AdabasFiles.FileNumber, AdabasDatabases.DBNumber, AdabasFiles.FileID 
UNION
SELECT DISTINCT AdabasFiles.FileNumber, AdabasDatabases.DBNumber, AdabasFiles.FileID 
FROM StatementReference INNER JOIN OccurrencesStmt ON StatementReference.OccurID = OccurrencesStmt.OccurID 
 INNER JOIN Programs ON OccurrencesStmt.ProgID = Programs.ProgramID 
 INNER JOIN AdabasFiles ON StatementReference.ResourceID=AdabasFiles.FileID AND StatementReference.ResourceType=56
 INNER JOIN AdabasDatabases ON AdabasDatabases.AdabasDBID=AdabasFiles.AdabasDBID
 LEFT JOIN MFAdabasFiles ON MFAdabasFiles.FileNumber=AdabasFiles.FileNumber
 LEFT JOIN MFAdabasDB ON MFAdabasDB.DBNumber= AdabasDatabases.DBNumber
WHERE Programs.ProgramTypeID = 1
GROUP BY AdabasFiles.FileNumber, AdabasDatabases.DBNumber, AdabasFiles.FileID 
UNION 
SELECT DISTINCT AdabasFiles.FileNumber, AdabasDatabases.DBNumber, AdabasFiles.FileID 
FROM StatementReference INNER JOIN OccurrencesStmt ON StatementReference.OccurID = OccurrencesStmt.OccurID AND StatementReference.ResourceType = 193
 INNER JOIN Programs ON OccurrencesStmt.ProgID = Programs.ProgramID 
 INNER JOIN NaturalDBView on naturaldbview.viewid = StatementReference.ResourceID
 INNER JOIN NaturalDDM on NaturalDDM.DDM_ID = NaturalDBView.DDM_ID
 INNER JOIN AdabasView ON AdabasView.ViewID=NaturalDDM.ReferenceResourceID AND NaturalDDM.ResourceType=62
 INNER JOIN AdabasFiles ON AdabasFiles.FileID=AdabasView.AdabasFileID
 INNER JOIN AdabasDatabases ON AdabasDatabases.AdabasDBID=AdabasFiles.AdabasDBID
 LEFT JOIN MFAdabasFiles ON MFAdabasFiles.FileNumber=AdabasFiles.FileNumber
 LEFT JOIN MFAdabasDB ON MFAdabasDB.DBNumber= AdabasDatabases.DBNumber
WHERE Programs.ProgramTypeID = 3 
GROUP BY AdabasFiles.FileNumber, AdabasDatabases.DBNumber, AdabasFiles.FileID 
ORDER BY AdabasFiles.FileNumber, AdabasDatabases.DBNumber 