Oracle
 sql >> Base de données >  >> RDS >> Oracle

joindre trois tables pour un résultat spécifique

Une LEFT JOIN renverra toujours tous enregistrements de la table à gauche de la jointure, et uniquement les valeurs des enregistrements qui correspondent aux critères de jointure des tables sur la droite de la jointure.

Pour ne renvoyer que les enregistrements pour lesquels les critères de jointure sont validés pour chaque record, vous devez utiliser un INNER JOIN , c'est-à-dire :

SELECT * 
FROM 
    CR_AR C 
    INNER JOIN STRUCT S ON S.STRUCTURE = C.STRUCT 
    INNER JOIN USERS U ON U.USER_STRUCT = S.STRUCTURE