La première chose que j'essaierais est une sous-requête :
from ((select q.* from quanda q where q.id = :id1) union
(select q.* from quanda q where q.related = :id2)
) left join
. . .
Remarque :Cela veut vraiment des index sur quanda(id)
et quanda(related)
pour les performances.
Si peu de lignes sont sélectionnées, cela peut être beaucoup plus rapide.