Только что придумал ещё один способ. Без джойна, но с созданием вьюхи
Идея состоит в том чтобы обмануть Query и создать во View два "виртуальных" поля ссылающихся на одно и тоже поле реальной таблицы. Тогда на каждое "виртуалное" поле можно будет повесить своё условие. Система будет думать что это разные поля и соеденит условия по логическому "И".