PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

como evitar duplicatas com consulta de junção interna (Postgres)


Neste caso é possível aplicar o distinct antes do join possivelmente tornando-o mais performático:
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

Observe como usar alias para os nomes das tabelas para tornar a consulta mais clara. Também então in operador é muito útil. O uso de aspas duplas com esses identificadores não é necessário.