Progress
Report Builder
User’s Guide
Join Basics
When you create a report definition, you specify the master table. The master table is the database table that Report Builder uses as the initial source of data for the report. In addition to drawing information from the master table, Report Builder can draw information from additional tables, called related tables. To access these related tables you join them to the master table or to each other.
When you join a table to the master table or a related table, the table used to initiate the join is called the controlling table; the other table is called the related table. Because you can join tables to a related table, a table can be the related table in one join and the controlling table in another join. For example, if you create a report definition with Customer as the master table, and then join the Order table, in this join Order is the related table. However, when joining the Order-Line table to the Order table, Order is the controlling table.
When you create a join, you specify a join field pair. A join field pair is made up of one field from the controlling table and one from the related table. Report Builder uses the value in the controlling table join field to search for all records in the related table with a matching value in the related table join field. In some cases, this search results in a one-to-one match between records in the two tables. In other cases, Report Builder might find many records in the related table that match the controlling join field value.
When you define joins, Report Builder accesses the records in the specified tables. The records resulting from the joins comprise a composite table. This table is not a literal table, but a collection of all the accessed records.
NOTE: If you are using outer joins in Report Builder and your report contains filter conditions, Report Builder applies the filter conditions after it processes the joins. As a result, the composite table might contain a different set of records than the records you obtain from an equivalent join and WHERE clause in a 4GL procedure.You can specify three different types of joins in Report Builder:
If you created any report definitions in versions of Report Builder prior to Version 1.8, all the joins in those definitions are inner joins.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |