V tomto případě je možné použít distinct
před join
možná, že bude výkonnější:
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
Všimněte si, jak použít alias pro názvy tabulek, aby byl dotaz jasnější. Také pak in
operátor je velmi šikovný. Použití dvojitých uvozovek s těmito identifikátory není nutné.