> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: Cross Join Transformation

> Use the Cross Join transformation to produce a Cartesian product by combining every record from two inputs in your ETL data pipeline.

<Frame>
  <iframe src="https://fast.wistia.com/embed/iframe/gbjesxraav" allowfullscreen playinline class="wistia_embed" width="640" height="360" />
</Frame>

Use the Cross Join transformation to combine records from two different inputs. The cross join returns the Cartesian product of records from the two inputs. That is, it will produce records which combine each record from the left input with each record from the right input.

<Frame>
  <img src="https://mintcdn.com/integrateio/2ttHYDu3EKov-VoY/images/creating-packages/using-components-cross-join-transformation/image-1.png?fit=max&auto=format&n=2ttHYDu3EKov-VoY&q=85&s=6c0a7d4bc65cdedf21506366c71d0758" alt="Cross Join component in the pipeline designer" width="1200" height="828" data-path="images/creating-packages/using-components-cross-join-transformation/image-1.png" />
</Frame>

## Cross Join inputs

Select 2 inputs and drag and drop the component menu button onto the cross join component:

<Frame>
  <img src="https://mintcdn.com/integrateio/2ttHYDu3EKov-VoY/images/creating-packages/using-components-cross-join-transformation/image-2.png?fit=max&auto=format&n=2ttHYDu3EKov-VoY&q=85&s=9e9bd28504cf754965cbb2116337c8cb" alt="Dragging two inputs onto the Cross Join component" width="952" height="782" data-path="images/creating-packages/using-components-cross-join-transformation/image-2.png" />
</Frame>

If the join's inputs contain fields with the same names, they will appear in the join output prefixed by the input's name (e.g. `adwords1::customer_id`). Use a select component to fix the field aliases or remove fields that contain the same values.

You may want to use a filter component right after the cross join to use non equality filters on the data (that can't be used with inner/outer joins)
