 <p>Firstly, there is no requirement that joins be made using keys. Sure, that's usually how they're done, but you can join on anything (that's one of the big positives of a relational database).</p> <p>Simply join tableC to the other two tables using the attribute columns to create your insertion data:</p> <pre><code>insert into tableNew select keyC, keyA, keyB, atrC1, atrC2 from tableC c join tableA a on a.atrA1 = c.atrA1 and a.atrA2 = c.atrA2 join tableB b on b.atrB1 = c.atrB1 </code></pre>