|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 38 ![]() |
Bonjour cela fait une dizaine de jours que je cherche à résoudre ce problème.
J'ai une requete qui ne donne plus le meme résultat depuis que je suis passé en version 5 de Mysql. J'ai 2 tables : "articles" & "equivalences", dans la table "equivalences" j'ai de 0 à n enregistrements pour un article de la table "articles" le code suivant me pose probleme : Code :
Si je ne fais que la première jonction j'ai les enregs avec "null" quand il n'y a pas de correspondance. Mais dès que je rajoute le 2nd LEFT JOINT je n'obtient pas le résultat souhaité.J'ai fais dans PhpMyAdmin l'option EXPLAIN et je constate que l'optimiseur de requette utilise la table "articles" puis la table "equivalences" quand je n'ai qu'une jonction. Mais dans le cas des deux jonctions il utilise d'abord la table "equivalences" puis la tables ("articles" t2) et enfin la table ("articles" t1) Jai donc tenter de l'obliger à utiliser la table (t1 "articles") avec STRAIGHT_JOIN et en faisant toutes sortes de combinaisons sans succès toujours le meme resultat. Le résultat que je recherche c'est avoir tous les enregs de la table (t1 "articles") dont cetains n fois (n=nombre d'équivalences) et avoir "null" pour les champs de de t2 quand il n'y a pas d'équivalences. J'espère avoir été assez clair. Merci de vos suggestions. |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Code :
WHERE ... AND (t2.stkmag='000001' OR t2.stkmag IS NULL) |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 38 ![]() |
merci beaucoup !!!!!!
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com