sql >> Databáze >  >> RDS >> Oracle

Proč nemůžete použít OR nebo IN s operací OUTER JOIN?

Mimochodem, definovali jste vnitřní spojení.

Tím, že má klauzuli proti pravé tabulce, musí splňovat obě kritéria.

SELECT p.Name, a.Attribute
FROM People p
LEFT OUTER JOIN Attributes a
ON p.PersonID = a.PersonID 
WHERE a.Attribute IN ('Happy','Grouchy') -- This means that the right side must exist also
AND p.person_id IN ('Elmo', 'Oscar') 

Buď použijte INNER JOIN, nebo přesuňte toto WHERE do klauzule ON jako AND



  1. Sloučit agregované páry klíč/hodnota z pole JSONB?

  2. Funkce okna nebo běžné tabulkové výrazy:počítejte předchozí řádky v rozsahu

  3. Výkon socket.io jeden emit na řádek databáze

  4. OPUSTILI SE PO GROUP BY?