Ervan uitgaande dat je alles gewoon wilt samenvoegen zoals de sleutels suggereren...
SELECT *
FROM table1
INNER JOIN table3 on table3.table1ID = table1.table1ID
INNER JOIN MEM_INSTR on MEM_INSTR.table2ID = table3.table2ID
Maar laten we zeggen dat je dit scenario hebt.
CREATE TABLE Table1 (
Table1ID NUMBER,
Generation NUMBER,
...
);
CREATE TABLE Table2 (
Table2ID NUMBER,
Table1ID NUMBER,
Table1Generation NUMBER,
...
);
Laten we terwille van het argument zeggen dat Tabel1 meerdere records kan hebben met dezelfde Tabel1ID, en Generatie wordt gebruikt als secundaire sleutel. En je moet een Table2-record koppelen aan de juiste single Tabel1 record. U kunt de ON
. uitbreiden clausule op dezelfde manier waarop u een WHERE
. zou uitbreiden clausule.
SELECT *
FROM table1 t1
INNER JOIN table2 t2
ON t2.table1id = t1.table1id
AND t2.table1generation = t1.generation