Bonjour,
Soit 2 tables A et B
Dans A: 2 champs X,Y
Dans B: 1 champ Y
Tous les champs A.Y se retrouvent dans B.Y
Quelle est la requete SQL pour lister les enregistrements orphelins de B (les B.Y qui ne se trouvent PAS dans la table A)
Merci
Bonjour,
Soit 2 tables A et B
Dans A: 2 champs X,Y
Dans B: 1 champ Y
Tous les champs A.Y se retrouvent dans B.Y
Quelle est la requete SQL pour lister les enregistrements orphelins de B (les B.Y qui ne se trouvent PAS dans la table A)
Merci
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select B.Y where B.Y not in (select A.Y from A)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select B.Y where not exists (select A.Y from A where A.Y=B.Y)
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
La version avec jointure externe ...
Deuxième phase : comparer les plans d'exécution de ces trois requêtes, les statistiques étant à jour bien évidemment...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select B.Y from B left outer join A on B.Y=A.Y where A.X is null![]()
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Partager