Problème de requette sql
sinifer
Messages postés
323
Statut
Membre
-
sinifer Messages postés 323 Statut Membre -
sinifer Messages postés 323 Statut Membre -
Bonjour,
j'ai une requette sur deux table qui me pose problème car si je fait cette requette
SELECT co.customers_id FROM emv_order e, en_commandes co WHERE e.customers_id = co.customers_id AND co.commandes_status != '0' AND co.commandes_type ='automne_2009_emv' and co.customers_id='10'
sa me donne des résultats ou il y a co.commandes_status = '0' alors que sa devrait me donner que des co.commandes_status = '1'
et j'arrive pas a voir mon erreur si quelqu'un peut m'aider ce serait gentille merci
j'ai une requette sur deux table qui me pose problème car si je fait cette requette
SELECT co.customers_id FROM emv_order e, en_commandes co WHERE e.customers_id = co.customers_id AND co.commandes_status != '0' AND co.commandes_type ='automne_2009_emv' and co.customers_id='10'
sa me donne des résultats ou il y a co.commandes_status = '0' alors que sa devrait me donner que des co.commandes_status = '1'
et j'arrive pas a voir mon erreur si quelqu'un peut m'aider ce serait gentille merci
Configuration: Windows XP Firefox 3.5.5
12 réponses
-
-
-
Merci mais sa marche toujours pas
je me demande si c'est pas dans ma jointure
parce que normalement je fais co.commandes_status = '1'
et sa me sort aussi quant il y a 0 c'est pour sa que j'ai fait !='0' -
t'es sous phpmyadmin? car c'est vrai que c'est un peu la guerre dans phpmyadmin pour faire des jointures correctes...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ouai je suis sur phpmyadmin
mais là franchement je voi pas le problème j'ai déjà fai des requette bien plus compliqué -
"SELECT co.customers_id FROM emv_order e, en_commandes co WHERE e.customers_id = co.customers_id AND co.commandes_status != '0' AND co.commandes_type ='automne_2009_emv' and co.customers_id='10' " déja perso j'aurai mis SELECT customers_id tout simplement vu que tu spécifies après que c'est les mêmes et pourquoi tu select dans ta table emv_order si après tu utilises que des champs de ta table en_commandes?
-
car ma requette de base ressemble pluto à sa:
SELECT e.order_keycode, e.campaign_code, SUM(co.commandes_montant), COUNT(co.customers_id) FROM emv_order e, en_commandes co WHERE e.customers_id = co.customers_id AND co.commandes_status = '1' AND co.commandes_type LIKE '%_emv' GROUP BY e.campaign_code, e.order_keycode
mais les résultats sont faux c'est pour sa que j'ai allégé ma requette dans ce cas en plus légé j'aurai du donner sa:
SELECT co.customers_id FROM emv_order e, en_commandes co WHERE e.customers_id = co.customers_id AND co.commandes_status = '1' AND co.commandes_type ='automne_2009_emv' and co.customers_id='10' and e.order_keycode ='p'
ce qui donne le même résultat que la première montré -
"co.commandes_status = '1' " si j'ai bien compris le problème c'est qu'il te sort ceux qui valent 0 aussi pour ce champ? O_o'
-
Je le croyait mais enffette quand j'affiche le co.commandes_status sa s'affiche 1 mais il apparait 10 fois alors qu'il devrait apparaitre que deux fois car quant je fais une recherche dans ma base j'ai que deux commande au status 1 avec le customers_id = 10
-
voui donc tu avais raison depuis le début, c'est un soucis de jointure, honnêtement je vois pas ce que ça pourrait être d'autre après tu peux faire un select DISTINCT (si je me souviens bien) c'est un peu crado mais bon...
-
-
car quant je fais un distinct sa me sort le réulta qu'une fois aulieu de 2 fois