sql >> Databáze >  >> RDS >> PostgreSQL

jak zabránit duplikátům s dotazem na vnitřní spojení (Postgres)

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é.



  1. Jaký je rozdíl mezi datovými typy sloupců MySQL BOOL a BOOLEAN?

  2. Oznámení ClusterControl 1.7.5:Pokročilá údržba a podpora clusteru pro PostgreSQL 12 a MongoDB 4.2

  3. Proč se mi při importu CSV zobrazuje neplatná vstupní syntaxe pro typ integer v postgresql?

  4. po upgradu JAR nelze najít symbol PreparedStatement