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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] problème de left join (fusion de suppression)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] problème de left join (fusion de suppression)

n°1055573
Djebel1
Nul professionnel
Posté le 21-04-2005 à 18:43:07  profilanswer
 

bonjour à tous  :bounce:  
 
Voila mon problème, dans un tableau j'ai des entrées sous un ID=0 et des entrés sous un ID=1.
 
Je veux trouver les lignes du tableau avec un ID=0 qu'on ne retrouve pas quand ID=1.
 
Je me sers donc de la commande left join, de cette maniere :

Code :
  1. select t1.ID_table,t2.ID_table from resultats_recherche as t1 left join resultats_recherche as t2 using (table_res,ID_table) where t1.decompo_id=0 and t2.decompo_id=1;


 
et la, je comprends pas, cette commande ne me renvoit auncun résultat de type NULL (ce qui est l'essence meme de l'utilisation du left join  :D ).
Pire que ca, cette commande me renvoie toutes les lignes qui correspondent entre ID=0 et ID=1.
Bien entendu, il y a des différences entre les lignes du tableau de ID=0 et de ID=1, j'ai bien vérifié pour etre sur.
 
En fait, elle me renvoie exactement le meme résultat que cette commande :
 

Code :
  1. select t1.ID_table,t2.ID_table from resultats_recherche as t1, resultats_recherche as t2  where t1.decompo_id=0 and t2.decompo_id=1 and t1.table_res=t2.table_res and t1.ID_table=t2.ID_table;


 
Comme vous le voyez, c'est la commande exactement inverse, mais qui renvoie le meme résultat  :D  
 
Quelqu'un saurait m'aider sur l'utilisation du left join svp? :)


Message édité par Djebel1 le 21-04-2005 à 18:45:20
mood
Publicité
Posté le 21-04-2005 à 18:43:07  profilanswer
 

n°1056168
Djebel1
Nul professionnel
Posté le 22-04-2005 à 10:59:10  profilanswer
 

up :)

n°1056494
Djebel1
Nul professionnel
Posté le 22-04-2005 à 13:54:14  profilanswer
 

j'ai pas fait une erreur de syntaxe ou une erreur bete dans le genre d'après ce que vous voyez?

n°1058853
venbar
Posté le 24-04-2005 à 18:27:21  profilanswer
 

salut, je connais pas bien la syntaxe que tu utilises mais pour avoir les enregistrements de la table t1 qui ne se trouvent pas dans t2 quand t2.id_table=1 je ferai :

Code :
  1. select t1.id_table from table1 t1 left join table2 t2 on t1.id_table = t2.id_table and t2.id_table = 1 where t2.id_table is null and t1.id_table = 0


autrement dit dans t2 tu ne prend que les lignes qui ont t1.id_table = t2.id_table et t2.id_table = 1 et pour ceux là tu prends que ceux qui sont dans t1 (ils n'existe pas dans t2 => is null) et qui vallent t1.id_table = 0 dans t1
 
je sais pas si c'est clair et si c'est ce qu'il te faut mais j'aurai essayé  :)  

n°1059969
mordicator
Posté le 25-04-2005 à 16:04:23  profilanswer
 

Dans ta requete avec le left join deja tu ne dois pas avoir besoin du using, mais ca ne doit pas faire de mal, mais surtout utilise une condition 'on' pour specifier la clef de jointure entre les deux tables.
Je ne sais pas si ton probleme vient de la, mais ca n'en sera que plus juste :)


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

  [MySQL] problème de left join (fusion de suppression)

 

Sujets relatifs
MYSQL MARCHE PASEnum en Mysql
Pb Install mySQLprobleme de cookie
Probleme avec un Vector (élément écrasé lors du .add() )probleme de MAJ
probleme simples quotes[C] impossible d'utiliser les thread sous linux problème de linker
Classes abstraites, String problemeProblème Javascript InnerHTML avec firefox
Plus de sujets relatifs à : [MySQL] problème de left join (fusion de suppression)


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