В този случай е възможно да се приложи distinct
преди join
вероятно го прави по-ефективен:
select fb.*
from
formulation_batch fb
inner join
(
select distinct formulationbatch_id
from formulation_batch_component
where component_id in (1, 2)
) fbc on fb.id = fbc.formulationbatch_id
where fb.project_id = 1
Забележете как да използвате псевдоним за имената на таблиците, за да направите заявката по-ясна. Също след това in
операторът е много удобен. Използването на двойни кавички с тези идентификатори не е необходимо.