Cross Join

Available since 15.1 Southside release

Cross Join returns all records from multiple tables.

CrossJoinDiagram.png

Cross Join can return large result sets.

CrossJoinTables.png

Code

Groovy
def qapi = api.queryApi()

def t1 = qapi.tables().customers()
def t2 = qapi.tables().customerExtensionRows("CX30")


return qapi.source(t1, [t1.customerId().as("CustomerID"), t1.name.as("Customer Name"), t1."Customer Class", t1.Country], t1.customerId().equal("CD-0001"))

        .crossJoin(t2, { it -> [t2.CustomerClassExtra.as("Customer Class Extra")] })
        .take(5)
        .stream { it.collect { it } }

Result

CustomerID

Customer Name

Customer Class

Country

Customer Class Extra

CD-0001

Appetito Mz

A

Italy

X

CD-0001

Appetito Mz

A

Italy

X

CD-0001

Appetito Mz

A

Italy

X

CD-0001

Appetito Mz

A

Italy

X

CD-0001

Appetito Mz

A

Italy

X

See Also