I det här fallet är det möjligt att använda distinct
före join
möjligen göra den mer presterande:
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
Lägg märke till hur du använder alias för tabellnamnen för att göra frågan tydligare. Också sedan in
operatören är mycket händig. Det är inte nödvändigt att använda dubbla citattecken med dessa identifierare.