# tJoin

Performs inner or outer joins between the main data flow and the lookup flow.

tJoin joins two tables by doing an exact match on several columns. It compares columns from the main flow with reference columns from the lookup flow and outputs the main flow data and/or the rejected data.

## tJoin Standard properties

These properties are used to configure tJoin running in the Standard Job framework.

The Standard tJoin component belongs to the Processing family.

The component in this framework is available in all Talend products.

## Basic settings

| Properties | Description |
| --- | --- |
| Schema and Edit<br>schema | <ul> <li> <p>A schema is a row description, it defines the number of fields to be processed and								passed on to the next component. The schema is either <span>Built-in</span> or stored remotely in the									<span>Repository</span>.</p> <p>Click <span>Edit        schema</span> to make changes to the schema. If the current schema is of the <span>Repository</span> type, three options are available:</p> <ul> <li> <p> <span>View schema</span>: choose this                option to view the schema only.</p> </li> <li> <p> <span>Change to built-in property</span>:                choose this option to change the schema to <span>Built-in</span> for local changes.</p> </li> <li> <p> <span>Update repository connection</span>:                choose this option to change the schema stored in the repository and decide whether                to propagate the changes to all the Jobs upon completion.</p> <p>If you just want to                propagate the changes to the current Job, you can select <span>No</span> upon completion and choose this schema metadata                again in the <span>Repository Content</span>                window.</p> </li> </ul> <p>This component offers the advantage of the                  dynamic schema feature. This allows you to retrieve unknown columns from source                  files or to copy batches of columns from a source without mapping each column                  individually. For further information about dynamic schemas, see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/dynamic-schema" target="_blank">Dynamic schema</a>.</p> <p>This            dynamic schema feature is designed for the purpose of retrieving unknown columns of a            table and is recommended to be used for this purpose only; it is not recommended for the            use of creating tables.</p> </li> <li> <p> <span>Built-in</span>: You create and store								the schema locally for this component only. For more information about a component schema in its <span>Basic settings</span> tab, see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/basic-settings-tab" target="_blank">Basic settings tab</a>.</p> </li> <li> <p> <span>Repository</span>: The schema already								exists and is stored in the Repository, hence can be reused in								various projects and Job flowcharts. For more information about a component schema in its <span>Basic settings</span> tab, see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/basic-settings-tab" target="_blank">Basic settings tab</a>.</p> </li> </ul> |
| Include lookup columns in output | Select this check box to include the lookup columns you define in<br>the output flow. |
| Input key attribute | Select the column(s) from the main flow that needs to be checked<br>against the reference (lookup) key column. |
| Lookup key attribute | Select the lookup key columns that you will use as a reference<br>against which to compare the columns from the input flow. |
| Inner join (with reject output) | Select this check box to join the two tables first and gather the<br>rejected data from the main flow. |

## Advanced settings

| Properties | Description |
| --- | --- |
| tStat<br>Catcher<br>Statistics | Select this check box to collect log data at the component<br>level. |

## Global Variables

| Variables | Description |
| --- | --- |
| Global Variables | ERROR\_MESSAGE: the error message generated by the<br>component when an error occurs. This is an After variable and it returns a string. This<br>variable functions only if the Die on error checkbox is<br>cleared, if the component has this checkbox.<br><br>A Flow variable functions during the execution of a component<br>while an After variable functions after the execution of the component.<br><br>To fill up a field or expression with a variable, press Ctrl+Space to access the variable list and choose the variable to use from<br>it.<br><br>For more information about variables, see [Using contexts and variables](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/contexts-and-variables). |

## Usage

| Usage guidance | Description |
| --- | --- |
| **Usage rule** | This component is not startable and it requires two input<br>components and one or more output components. |

**Related concepts**

* [Doing an exact match on two columns and outputting the main and rejected data](https://help.qlik.com/talend/en-US/components/8.0/processing/tjoin-tfileoutputexcel-tfileoutputdelimited-tfileinputdelimited-doing-exact-match-on-two-columns-and-outputting-main-and-rejected-data-standard-component-this)
* [Matching input data against a reference file based on a dynamic column](https://help.qlik.com/talend/en-US/components/8.0/processing/tjoin-tfileinputdelimited-tlogrow-tlogrow-matching-input-data-against-reference-file-based-on-dynamic-column-standard-component-enterprise-this)