Det första jag skulle försöka är en underfråga:
from ((select q.* from quanda q where q.id = :id1) union
(select q.* from quanda q where q.related = :id2)
) left join
. . .
Notera:Detta vill verkligen ha index på quanda(id)
och quanda(related)
för prestanda.
Om några rader är markerade kan detta vara mycket snabbare.