[MySQL] lister des valeurs qui sont dans T1 mais pas dans T2

lister des valeurs qui sont dans T1 mais pas dans T2 [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 28-09-2003 à 18:57:33    

Salut a tous
Bon quand je fais la chose suivante :

Code :
  1. select distinct techniques.technique_id from techniques, tableaux where techniques.technique_id = tableaux.technique_id


j'obtiens toutes les valeurs de technique_id qui se trouvent a la fois dans techniques et dans tableaux.
Moi ce que je voudrais faire c'est obtenir la liste de technique_id qui se trouvent dans techniques mais qui ne sont pas presents dans tableaux !! Comment je fais svp ?
Merci !
@++


Message édité par JaymzHetfield le 28-09-2003 à 19:44:08
Reply

Marsh Posté le 28-09-2003 à 18:57:33   

Reply

Marsh Posté le 28-09-2003 à 19:30:08    

Code :
  1. SELECT technique_id
  2. FROM techniques
  3. WHERE technique_id NOT IN(
  4.       SELECT tableaux.technique_id
  5.       FROM tableaux);


 
Edit : Le DISTINCT n'est plus nécessaire.


Message édité par Tunsen le 28-09-2003 à 19:32:12
Reply

Marsh Posté le 28-09-2003 à 19:32:18    

tunsen > On a dit Mysql !!
 
JaymzHetfield > Je cherche encore mais je ne vois pas trop comment faire ca en Mysql


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 28-09-2003 à 19:34:52    

Lord II a écrit :

tunsen > On a dit Mysql !!


:whistle:
Je me disais aussi...

Reply

Marsh Posté le 28-09-2003 à 21:06:28    

requêtes imbriquées ok pour mysql en version 4.x  :o


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 28-09-2003 à 21:15:54    

tu dois faire une jointure externe

Reply

Marsh Posté le 28-09-2003 à 21:48:19    

SELECT distinct techniques.technique_id  
FROM techniques
LEFT JOIN tableaux ON techniques.technique_id = tableaux.technique_id
WHERE tableaux.technique_id IS NULL

Reply

Marsh Posté le 29-09-2003 à 11:28:50    

simogeo -> j'utilise MySQL sur les serveurs de free, et ils utilisent la version 3.23 !
mrBebert -> merci, ca a l'air de marcher nickel, je vais maintenant essayer de comprendre ta solution  :D

Reply

Marsh Posté le 29-09-2003 à 13:11:30    

Essaie sans le WHERE, tu comprendras rapidement la nuance qui existe entre une jointure standard et un LEFT JOIN :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed