Supondo que você queira apenas juntar tudo como as chaves sugerem ...
SELECT *
FROM table1
INNER JOIN table3 on table3.table1ID = table1.table1ID
INNER JOIN MEM_INSTR on MEM_INSTR.table2ID = table3.table2ID
Mas digamos que você tenha esse cenário.
CREATE TABLE Table1 (
Table1ID NUMBER,
Generation NUMBER,
...
);
CREATE TABLE Table2 (
Table2ID NUMBER,
Table1ID NUMBER,
Table1Generation NUMBER,
...
);
Digamos para fins de argumentação que Table1 pode ter vários registros com o mesmo Table1ID e Generation é usado como uma chave secundária. E você precisa juntar um registro Table2 ao single correto Registro da Tabela1. Você pode expandir o
ON
cláusula da mesma forma que você expandiria um WHERE
cláusula. SELECT *
FROM table1 t1
INNER JOIN table2 t2
ON t2.table1id = t1.table1id
AND t2.table1generation = t1.generation