Comment écrire une sous-requête à l'intérieur de l'Instruction de JOINTURE EXTERNE
Je veux rejoindre les deux table CUSTMR et DEPRMNT.
Mon besoin est: JOINTURE EXTERNE GAUCHE DE deux ou plusieurs Tables avec des sous-requête à l'intérieur de la JOINTURE EXTERNE GAUCHE comme indiqué ci-dessous:
Table: CUSTMR , DEPRMNT
Requête comme suit:
SELECT
cs.CUSID
,dp.DEPID
FROM
CUSTMR cs
LEFT OUTER JOIN (
SELECT
dp.DEPID
,dp.DEPNAME
FROM
DEPRMNT dp
WHERE
dp.DEPADDRESS = 'TOKYO'
)
ON (
dp.DEPID = cs.CUSID
AND cs.CUSTNAME = dp.DEPNAME
)
WHERE
cs.CUSID != ''
Ici la sous-requête est:
SELECT
dp.DEPID, dp.DEPNAME
FROM
DEPRMNT dp
WHERE
dp.DEPADDRESS = 'TOKYO'
Est-il possible d'écrire de tels sous-requête à l'intérieur d'une JOINTURE EXTERNE GAUCHE?
J'obtiens une erreur lors de l'exécution de cette requête sur ma base de données DB2.
- Vous devriez toujours poster la errormessage vous recevoir.
- Pourquoi le titre dit JOINTURE INTERNE et la question de dire JOINTURE EXTERNE??... Je suis en train de modifier cette
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de la "id de corrélation" (le "SS" bidule) sur la sous-sélection pour référence les champs dans l' "À l'état". L'id est attribué à l'intérieur de la sous-sélection ne sont pas utilisables dans la jointure.
Je pense que vous n'avez pas à utiliser des sous-requêtes dans ce scénario.Vous pouvez directement jointure externe gauche la DEPRMNT table .
Lors de l'utilisation d'une Jointure Externe Gauche ,ne pas utiliser de colonnes dans le membre de droite de la table de la jointure dans la condition where, vous allez obtenir mauvaise sortie