7.13 Cascade association

 

Perform filtering on two associated tables through cascade association relationships.
Find the American employees whose managers are Chinese according to the associated Employee table and Department table.

imagepng

SPL offers A.switch() function to convert foreign key field values to matching records in the foreign key table.

SPL script:

A
1 =connect(“db”)
2 =A1.query(“select * from Employee”)
3 =A1.query@x(“select * from Department”)
4 =A3.switch(Manager, A2:ID)
5 =A2.switch(Dept, A4:ID)
6 =A5.select(Nation==“American” && Dept.Manager.Nation==“Chinese”)

A1 Connect to the database.
A2 Query Employee table.
A3 Query Department table.
A4 Use switch() function to transform Manager field values in Department table to matching Employee records.
A5 Use switch() function to transform Dept field values in Employee table to matching Department records.
A6 Get records of employees whose nations are American and whose managers are Chinese.

Execution result:

ID Name Nation Dept
11 Simon American 2
103 Rudy American 2