Problème de requette sql

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
A voir également:

12 réponses

Vinc
 
Essaie en replacant != par <> et dis nous ce que ca donne
0
Natio78 Messages postés 742 Statut Membre 96
 
essaie avec NOT LIKE plutôt que != on sait jamais
0
sinifer Messages postés 323 Statut Membre 11
 
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'
0
Vinc
 
Si c'etait un probleme de jointure tu n'aurais aucun resultat mais la je seche pour ta condition je vois vraiment pas d'ou ca vient
0
Natio78 Messages postés 742 Statut Membre 96
 
t'es sous phpmyadmin? car c'est vrai que c'est un peu la guerre dans phpmyadmin pour faire des jointures correctes...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sinifer Messages postés 323 Statut Membre 11
 
ouai je suis sur phpmyadmin

mais là franchement je voi pas le problème j'ai déjà fai des requette bien plus compliqué
0
Natio78 Messages postés 742 Statut Membre 96
 
"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?
0
sinifer Messages postés 323 Statut Membre 11
 
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é
0
Natio78 Messages postés 742 Statut Membre 96
 
"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'
0
sinifer Messages postés 323 Statut Membre 11
 
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
0
Natio78 Messages postés 742 Statut Membre 96
 
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...
0
sinifer Messages postés 323 Statut Membre 11
 
je te remerci mais sa na rien changé a mon problème
0
sinifer Messages postés 323 Statut Membre 11
 
car quant je fais un distinct sa me sort le réulta qu'une fois aulieu de 2 fois
0