IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

problème avec requette mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut problème avec requette mysql
    Bonjours

    j'ai une requette sur deux table qui me pose problème car si je fait cette requette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT co.customers_id, co.commandes_status  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'
    mais mais sa 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

    je comprend pas pourquoi sa m'affiche plus que sa devrait

    si quelqu'un(e) peut m'aider ce serait gentil

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 37
    Par défaut
    C'est pas dû à cause des quotes, avec les nombres?

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    je fais ma requette tel quel dans phpmyadmin

  4. #4
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    et avec un SELECT DISTINCT ... ?

  5. #5
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    j'ai essaillé avec sa mais sa me sort qu'un resultat alors que je devrai avoir deux ligne

    custom_id----- command_statu

    10-----------1
    10-----------1

    mais avec le distinct sa m'en sort qu'une fois

  6. #6
    Membre éclairé Avatar de s.lennon
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par défaut
    Essaies avec un JOIN peut-être ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT co.customers_id, co.commandes_status  FROM emv_order e JOIN en_commandes co WHERE ...

  7. #7
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Honnetement j'ai tout essaillé left right outer join rien a fair je comprend pas franchement mon problème pourquoi sa passe pas ou sa passe trop

  8. #8
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Essaie d'enlever toutes les conditions de ton where et de les réinsérer au fur et à mesure pour voir les résultats. Peut-être que tu verras où ça coince.

  9. #9
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    ok merci je vais voir tout en laissant le join

  10. #10
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    J'ai essayer de fair comme ta dis mais j'ai toujours en trop

  11. #11
    Membre éclairé Avatar de s.lennon
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par défaut
    Quels sont les attributs de tes deux tables ?
    Elles contiennent beaucoup d'enregistrements ou tu peux nous les montrer ?

  12. #12
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    ma table

    emv_order = 11 champs
    et
    en_commandes =15 champs

    j'en utilise que 6

    ce que je comprend pas c'est par exemple dans ma table en_commandes le customers 10 à 2* co.commandes_status = '1' AND co.commandes_type ='automne_2009_emv'
    mais quan je lance ma requette sa l'affiche 10 fois???

  13. #13
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Par simple curiosité, tu as combien de champs qui ont co.commandes_status = '1' AND co.commandes_type ='automne_2009_emv', peu importe le customer ?

  14. #14
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    donc avec cette requette

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT co.customers_id, co.commandes_status  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'
    j'ai 1275

    mais le resulte est faux car le bon résultat est ~ 497

  15. #15
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT co.customers_id, co.commandes_status  
    FROM en_commandes co
    JOIN emv_order e ON e.customers_id = co.customers_id 
    WHERE co.commandes_status = '1' AND co.commandes_type ='automne_2009_emv' and co.customers_id='10' and e.order_keycode ='p'

  16. #16
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Je te remerci mais j'ai toujours le même problème il s'affiche toujours 10 fois

  17. #17
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Vu comme celà la jointure parait correcte

    Donc, combien as tu d'éléments en jointure seul (sans le where) ? Car il me semble que les conditions ne sont pas prises en comptes

    J'aurais enlevé les '' mais je vais relire ton post depuis le début ....

  18. #18
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    le problème c'est que la condition a l'air de marché mais le problème c'est que sa doit m'affiché que deux fois alors que sa m'affiche 10 fois pourtan quant j'affiche commandes_status c'est bien égale à 1

  19. #19
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    10 fois cad que cela t'affiche 10 fois (10 ------ 1) ?

    Et ta requête elle en est ou (car avec tous les changements ) C la dernière, celle de baggie ?

  20. #20
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Est-ce que tu peux nous donner le nom des champs de tes tables et nous donner la liste des enregistrements ou il y en a trop ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. problème avec requette mysql
    Par minooo dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/12/2007, 08h55
  2. problème avec requette regroupement
    Par stef_445 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 16/11/2007, 11h22
  3. Problème avec odbc MySQL
    Par xave dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 02/08/2006, 10h11
  4. Problème avec classe MySQL
    Par shadeoner dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/07/2006, 11h25
  5. Problème avec Ado, MySQL
    Par sylvain.g dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/06/2005, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo