Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 14/11/2013 12:02:54
- Thomas Williamson
- Membre
Recherche de valeurs entre deux tables
Bonjour,
J'essaie de ressortir les valeurs d'une table a qui ne se trouvent pas dans une table b :
CREATE TABLE table_a (gid varchar(2)) ;
INSERT INTO table_a (gid) VALUES ('01', '02', '03', '04', '05') ;
CREATE TABLE table_b (gid varchar(2)) ;
INSERT INTO table_b (gid) VALUES ('06', '02', '07', '08', '09') ;
La requête suivante me renvoie les valeurs 01, 02, 03, 04 et 05 alors que la valeur 02 se trouve dans les deux tables...
SELECT a.gid FROM table_a a, table_b b WHERE a.gid NOT IN (b.gid) ;
Je souhaiterais récupérer seulement les valeurs 01, 03, 04 et 05 qui sont bien dans la table_a mais pas dans la table_b.
Je ne vois vraiment pas ce qui cloche...
Merci pour votre aide !
Thomas
Hors ligne
#2 14/11/2013 12:12:00
- rjuju
- Administrateur
Re : Recherche de valeurs entre deux tables
Bonjour,
une requête de ce genre devrait marcher :
SELECT *
FROM table_a a
LEFT JOIN table_b b USING (gid)
WHERE b.gid IS NULL;
Julien.
https://rjuju.github.io/
Hors ligne
#3 14/11/2013 13:02:53
- Thomas Williamson
- Membre
Re : Recherche de valeurs entre deux tables
Bonjour,
Merci en effet ça marche mieux... J'avais aussi trouvé ça entre temps :
SELECT gid FROM table_a WHERE gid NOT IN (SELECT gid FROM table_b) ;
Thomas
Hors ligne
Pages : 1