|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2011 Messages : 14 ![]() |
Bonjour,
Ma requête suivante : Code :
ne me retourne pas de résultats pour toutes mes lignes ou mon count(o.orders_id) = 0. Je pense que mon pb vient de la syntaxe de ma jointure. Je tourne en rond depuis plusieurs heures. Si quelqu'un à une idée, je suis preneur. Merci :-) |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
C'est sûr qu'en mélangeant la vielle syntaxe obsolète depuis 1992 et la syntaxe normalisée depuis 18 ans, tu peux t'emmêler les doigts !
![]() En plus tu essaies de faire deux jointures externes en une seule et tu as aussi oublié une colonne dans le GROUP BY. ![]() Essaie comme ça : Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 14 ![]() |
Bon ben déjà ma requête sera plus propre, merci
Cela dit, la requête que tu m'as donné tourne en boucle. Bizarre, ça fait 10 minutes quelle tourne sans me retourner de résultats ! |
|
|
00
|
|
|
#4 |
![]() ![]() |
Tes tables sont indexées ?
J'ai construit les jointures sur l'hypothèse qu'il peut y avoir des customers sans orders et pas l'inverse.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 14 ![]() |
Oui il peut y avoir des customers sans orders mais pas l'inverse !
(sauf effacement par erreur) Bizarre ! |
|
|
00
|
|
|
#6 | |
![]() ![]() |
Bis repetita :
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 14 ![]() |
Désolé.
Oui mes tables sont bien indexées. Dans customers j'ai customers_id (repris également dans orders) et dans orders j'ai un orders_id. C'est ce que tu veux savoir ? |
|
|
00
|
|
|
#8 |
![]() ![]() |
Il y a 4 tables dans la requête et tu ne m'en cites que 2 !
Il faut que toutes les colonnes figurant dans les conditions de jointure (après les ON) soient indexées, ainsi probablement que la colonne orders_total.class puisque tu fais une restriction dessus.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 14 ![]() |
Je reprends, j'ai :
Table customers : cusomers_id Table customers_info : customers_info_id Table orders : orders_id (reliée avec customers_id) Table orders_total : orders_total_id (reliée avec orders_id) Je ne suis vraiment pas un pro en sql donc je tâtonne... |
|
|
00
|
|
|
#10 |
![]() ![]() |
Je le sais que tu as ces tables ; elles sont dans la requête !
Regarde ma requête et met un index sur toutes les colonnes qui figurent derrière les ON.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 14 ![]() |
Euh ça dépasse mes faibles compétences.
Mettre un index c'est à dire ? |
|
|
00
|
|
|
#12 |
![]() ![]() |
Quel est ton SGBD ? Quel logiciel utilises-tu pour lancer ta requête ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 14 ![]() |
J'utilise PhpMyAdmin
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com