Have you tried replacing the inner join with a simple WHERE clause? It looks to me like the results would be the same...
SELE tbl1.*, tbl2.xyz2, tbl3.xyz3, tbl4.xyz4, tbl5.xyz5;
FROM tbl1, ;
WHERE tbl1.key2 = tbl2.key2 AND ;
tbl1.key3 = tbl3.key3 AND ;
tbl1.key4 = tbl4.key4
etc.
Design for the future. Live for the present.