I dette tilfælde er det muligt at anvende distinct
før join
muligvis gøre den mere effektiv:
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
Bemærk, hvordan du bruger alias til tabelnavnene for at gøre forespørgslen klarere. Også derefter in
operatør er meget handy. Brugen af dobbelte anførselstegn med disse identifikatorer er ikke nødvendig.