Define a Join Manually
If you have more than one table, you must define at least one join condition for each table.
If there are no Suggested Joins or you need to edit your join:
- Click the Actual Joins tab:
- Select the type of join under the Join Type column
- Enter the first table in Table 1
- Enter the first field in Field 1
- Enter the Relation (this is normally =)
- Enter the second table in Table 2
- Enter the second field in Field 2
Join concepts
There are three join types available: SIMPLE, LEFT OUTER, and RIGHT OUTER.
SIMPLE JOIN
A SIMPLE join is a one-to-one relation: the value for Table 1 and Field 1 MUST match the value of Table 2 and Field 2 (these examples presume the Relation field is "="). When this match occurs the result is one row for that match. If the target table does not have a match for the source table row, then no row is returned to the grid.
LEFT OUTER JOIN
A LEFT OUTER join is a one-to-many relation: the value for Table 1 and Field 1 matches the value of Table 2 and Field 2. Unlike the SIMPLE join, if the Table 2 and Field 2 value does not match, then the query still returns a row for Table 1 and Field 1. The Table 2 fields in this instance will all be null (you can search for null fields using the <BLANK> filter). Use a LEFT OUTER join for:
- Drill down reports - If you do a LEFT OUTER join between a header table and a detail table, then your report will be able to drill down between the header (summary) records and the detail records.
- Integrity reports - If you have a header table and want to know which headers have no child records, then use a LEFT OUTER join.
Important
Any filter on the secondary table (right table) will have 'OR NULL' added to it.
This is to ensure that unmatched primary (left table) records are also returned.
This also ensures that row or masking security filters do not unexpectedly cause unmatched primary table rows to be omitted.
RIGHT OUTER JOIN
A RIGHT OUTER join is the same thing as a LEFT OUTER join except Table 1 and Table 2 are swapped. Use a RIGHT OUTER join, for instance, to identify detail rows that do not have a header row.
Important
Any filter on the secondary (left table) table will have 'OR NULL' added to it.
This is to ensure that unmatched primary (right table) records are also returned.
This also ensures that row or masking security filters do not unexpectedly cause unmatched primary table rows to be omitted.
Special Considerations when Converting from a Native E1 Business View
Unmatched rows in non-string columns (such as numeric or date) will show blank instead of a default value (like zero) when converting a native E1 view to a DASVIEW.