Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1128 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comparaison de deux tables sur deux champs

 

Sujet(s) à lire :
    - SELECT ... FROM ... NOT IN ?
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparaison de deux tables sur deux champs

n°2071290
Toscanno
Posté le 21-04-2011 à 11:37:51  profilanswer
 

Bonjour à tous,
 
Je suis sous MySQL 5.1
J'essaye de faire une requête visant à comparer deux tables, strictement identiques en structures.
La base de comparaison est une clé sur deux champs (id_client, id_article) et je souhaite donc récupérer la clé sur deux champs des enregistrements qui sont dans la table 1 et pas dans la table 2, mais sans l'inverse, c a d les champs qui sont dans la table 2 et non dans la table 1.
 
La requête 'parfaite' serait :
 
SELECT * FROM table1
MINUS
SELECT * FROM table2
 
Mais pas de Minus en MySQL
 
J'ai donc essayé ce que je pense être un équivalent :
 
SELECT * FROM table1
WHERE NOT EXISTS
(SELECT * FROM table2)
 
ou  
 
SELECT * FROM table1
NOT IN (SELECT * FROM table2)
 
 
la première ne me retourne aucun enregistrement alors qu'il y a bien deux enregistrements de plus dans la table1 que dans la table 2
 
la seconde me retourne une erreur de syntaxe. Mais celle ci je pense qu'il manque un WHERE, mais je ne sais quelle condition mettre vu que la clé porte sur id_client et id_article
 
Qu'est ce qui serait le mieux comme requete ? quelles sont mes erreurs ?
 
Merci pour vos explications

mood
Publicité
Posté le 21-04-2011 à 11:37:51  profilanswer
 

n°2071296
flo850
moi je
Posté le 21-04-2011 à 11:53:05  profilanswer
 

Code :
  1. SELECT table1.*
  2. FROM table1 t1
  3.      LEFT JOIN table2 t2
  4.           ON t1.id_client = t2.id_client AND t1.id_article = t2.id_article
  5. WHERE t2.id_client IS NULL 


Message édité par flo850 le 21-04-2011 à 11:53:53

---------------

n°2071339
Toscanno
Posté le 21-04-2011 à 14:18:51  profilanswer
 

impec ça marche, j'avais du mal à saisir l'utilisation du LEFT JOIN, c'est maintenant on ne peut plus clair.
 
Merci

n°2071350
flo850
moi je
Posté le 21-04-2011 à 14:44:21  profilanswer
 

de rien :jap:


---------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comparaison de deux tables sur deux champs

 

Sujets relatifs
Soustraire deux tablesComparaison trois colonnes VBA
Récupérer la dernière version des champsSQL tri calcul sur 2 tables
Comparaison time heure[Shell] comparaison mot contenu de fichier
Comment utiliser les champs cachés ?Recuperer un champs après un insert et barrer la BD
Joindre 4 tables[aide] ACCESS, création tables (appliquée pour une gestion budget)
Plus de sujets relatifs à : Comparaison de deux tables sur deux champs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR