От: PHP/mySQL съвет как да процедирам
Ако не измислиш друго, втория ти вариант е правилния (по принцип).
Иначе може да използваш временна таблица в която да събереш резултатите от всички обединения и която вече ще има истинско и реално ID, а от там нататък , лесно и бързо може да изведеш...