I don't understand what you want to do.
A 3-way join is quite simple: First you join only two tables. The result of that join is a (temporary) table. Since you have a table, you can join this with another table. Let's have a look at this:
Code:
SELECT *
FROM t1
JOIN
t2 ON ( t1.id = t2.id )
JOIN
t3 ON ( t1.id = t3.id )
To clarify this further, you could write it as:
Code:
SELECT *
FROM ( t1
JOIN
t2 ON ( t1.id = t2.id ) ) AS join_tab
JOIN
t3 ON ( join_tab.id = t3.id )
The temporary table "join_tab" is the result of the join operation of "t1" and "t2". The second join step combines table "join_tab" with "t3".
Essentially, you have to figure out which row(s) in X belongs to which row(s) in Y - the condition describing this will be the join predicate for the join of X and Y. The same has to be done for X and Z and Y and Z. It may happen that you do not have to apply a join predicate on one of those three combinations.