Table.cross_join
Group: Calculations
Aliases: append
, cartesian join
Documentation
Joins tables by pairing every row of the left table with every row of the right table.
- If the
right
table has more rows than theright_row_limit
allows, aCross_Join_Row_Limit_Exceeded
is reported. In warning/ignore mode, the join is still executed.
Arguments
right
: The table to join with.right_row_limit
: If the number of rows in the right table exceeds this, then aCross_Join_Row_Limit_Exceeded
problem is raised. The check exists to avoid exploding the size of the table by accident. This check can be disabled by setting this parameter toNothing
.right_prefix
: The prefix added to right table column names in case of name conflict. See "Column Renaming" below for more information.on_problems
: Specifies how to handle problems if they occur, reporting them as warnings by default.
Remarks
Column Renaming
If columns from the two tables have colliding names, a prefix (by
default Right_
) is added to the name of the column from the right
table. The left column remains unchanged. It is possible that the new
name will be in use, in this case it will be resolved using the normal
renaming strategy - adding subsequent _1
, _2
etc.
Result Ordering
Rows in the result are first ordered by the order of the corresponding rows from the left table and then the order of rows from the right table. This applies only if the order of the rows was specified (for example, by sorting the table; in-memory tables will keep the memory layout order while for database tables the order may be unspecified).