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

Requêtes MySQL Discussion :

requête montre 3x un enregistrement


Sujet :

Requêtes MySQL

  1. #1
    Invité
    Invité(e)
    Par défaut [Résolu] requête montre 3x un enregistrement
    Bonjour,

    Qu'est-ce qui ne va pas avec ma requête SQL?

    En gros, je veux prendre tous les champs de 2 tables là où un certain champ de la première table vaut une certaine valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT table1.*,table2.* FROM table1,table2 WHERE table1.champX = 'valeur'
    Ayant créé la base, je sais qu'il existe 1 seul enregistrement qui réponde à cette condition (et je viens de revérifier) mais lorsque je teste la requête dans phpMyAdmin, le résultat se compose de 3 enregistrements avec la même valeur pour "table1.champX".

    Kézako? Frappez pas trop fort, je suis nouveau.

    Merci!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Dans chaque table il n'y a que 3 enregistrements (ce sont en fait des infos sur 3 produits, réparties sur 2 tables).

    Je crois comprendre que, comme j'ai pas spécifié de critère de sélection pour "table2" il me renvoie tous les enregistrements de cette table, mais pourquoi me mettre la même valeur à "table1.champX" puisqu'elle n'existe que pour 1 enregistrement?

  3. #3
    Invité
    Invité(e)
    Par défaut
    ça n'a pas beaucoup d'importance. De toute façon, maintenant que j'ai complété ma requête pour "table2", je n'ai qu'1 enregistrement comme réponse donc on va pas se creuser

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Dans ta requête select, ajoutes la clause DISTINCT. Ca élimine les doublons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    SELECT DISTINCT table1.*,table2.* FROM table1,table2 WHERE table1.champX = 'valeur' ;
    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/05/2006, 20h30
  2. Requête qui exclue des enregistrements suivants des valeurs
    Par paflolo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/02/2006, 17h38
  3. requète et compteur d'enregistrement
    Par philpaul dans le forum Access
    Réponses: 6
    Dernier message: 23/01/2006, 18h20
  4. Réponses: 3
    Dernier message: 28/10/2005, 14h03
  5. Réponses: 4
    Dernier message: 17/10/2005, 15h05

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