Pour chaque e-mail_addr en MEA, il vérifiera le courrier électronique correspondant à MIS
Expected o/p email_addr first_nm last_nm yy@gmail.com null null xx@gmail.com xx11 xx22 xx@gmail.com xx11 null xx@gmail.com null xx22
4 Réponses :
Voici une première solution de travail mais probablement pas la meilleure: ou p>
Essayez ceci: sortie p>
Vous pouvez interroger uniquement la table Si vous souhaitez vraiment rechercher uniquement les courriels existants dans voir le Démo . MIS code> comme ceci: MEA code > Ensuite, vous avez besoin d'un Joindre code>: p>
Résultats: P> > email_addr | first_nm | last_nm
> :----------- | :------- | :------
> yy@gmail.com | null | null
> xx@gmail.com | xx11 | xx22
> xx@gmail.com | null | xx22
> xx@gmail.com | xx11 | null
Lorsque nous avons besoin de données de table1 qui est associé éventuellement - dans le tableau2 peut n'avoir aucune donnée connexe - à table2, j'utilise habituellement rejoindre gauche em> em> que nous définissons la table1 comme table de gauche et table2 comme table droite.
En outre, lorsque nous parlons d'interrogation sur les valeurs null, je pense généralement à utiliser coalesce () code> em>, afin que je puisse vous suggérer d'utiliser une requête comme celle-ci: select "MEA"."email_addr", "MIS"."first_nm", "MIS"."last_nm"
from "MEA"
left join "MIS"
on "MEA"."email_addr" = "MIS"."email_addr"
and coalesce("MIS"."first_nm", "MIS"."last_nm", '@AllAreNull') != '@AllAreNull'
order by "MEA"."email_addr", "MIS"."first_nm", "MIS"."last_nm";