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

Langage SQL Discussion :

[SQL] Requete me renvoyant deux fois le meme nom


Sujet :

Langage SQL

  1. #1
    Membre du Club Avatar de Pepito
    Profil pro
    Inscrit en
    Août 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2004
    Messages : 101
    Points : 57
    Points
    57
    Par défaut [SQL] Requete me renvoyant deux fois le meme nom
    Ami(e) du jour, bonjour

    J'ai un probleme avec une requete sql.

    J'ai une table 'matchs' avec entres autres les champs 'equipe1' et 'equipe2' qui sont de type numerique qui renvoient vers 'idClub' de la table 'Clubs'.

    Voici le detail des tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Matchs
    =======
    idMatch  
    championnatmatch  
    journeeMatch   
    dateMatch  
    equipe1Match       
    score1match         
    equipe2Match     
    score2Match     
     
     
     
    Clubs
    ======
    idClub
    nomClub
    ......


    Je fais donc ceci comme requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT matchs.*, clubs.* FROM matchs, clubs WHERE matchs.championnatMatch=$idChamp AND matchs.equipe1Match=clubs.idClub OR matchs.equipe2Match=clubs.idClub ORDER BY matchs.journeeMatch ASC
    Le probleme, c'est que je lui demande de me retourner le nom du club de l'equipe 1 et le nom du club de l'equipe 2.
    Si je lui demande d'afficher $row[4] (equipe1match) et $row[6] (equipe2match), la requete me renvoie le chiffre du club, et si je lui demande de m'afficher $row[9] (nomClub), il me renvoie 2 fois le meme club (en l'occurence, l'equipe 2).

    Quelqu'un aurait une idée pour mon probleme.
    Merci de votre aide

    Pepit'

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT   m.*, c1.nomClub as Club1, c2.nomClub as Club2
    FROM     Matchs m INNER JOIN Clubs c1 ON m.equipe1Match = c1.idClub
                      INNER JOIN Clubs c2 ON m.equipe2Match = c2.idClub
    WHERE    m.championnatMatch = $idChamp 
    ORDER BY m.journeeMatch ASC
    Evite les SELECT * dans les programmes, c'est un énorme frein à l'évolutivité.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Membre du Club Avatar de Pepito
    Profil pro
    Inscrit en
    Août 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2004
    Messages : 101
    Points : 57
    Points
    57
    Par défaut
    Heu...

    Ca me dis que ca marche pas, que la requete est invalide.
    Mais j'ai compris le principe et je cherche comment resoudre l'erreur.

    Merci bien.

    Pepit'

  4. #4
    Membre du Club Avatar de Pepito
    Profil pro
    Inscrit en
    Août 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2004
    Messages : 101
    Points : 57
    Points
    57
    Par défaut
    J'ai beau tourner et retourner la requete dans tous les sens, j'ai verifier les noms des tables et des champs, ca m'indique toujours qu'il y a une erreur dans la requete !!

    equipe1Match et equipe2Match doivent bien etre relié au champ idClub.
    La variable $idChamp est exacte.

    je ne vois pas d'où vient le probleme !!
    Aurais tu une idée s'il te plait ??

    A quoi ca sert de mettre "AS Club1" et "AS Club2 ??

    Merki
    Pepit'

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par Pepito
    Ca me dis que ca marche pas, que la requete est invalide.
    Peux-tu être plus précis...
    Citation Envoyé par Pepito
    A quoi ca sert de mettre "AS Club1" et "AS Club2 ??
    Ce sont des alias pour les noms des colonnes
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  6. #6
    Membre du Club Avatar de Pepito
    Profil pro
    Inscrit en
    Août 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2004
    Messages : 101
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Médiat
    Peux-tu être plus précis...
    Comme je fais un site web en PHP, ca me sort comme phrase :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in h:\easyphp1-8\www\raiders\admin\match_add.php on line 126
    Et du coup, ca ne m'affiche aucun resultat...

    Pepit'

  7. #7
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par Pepito
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in h:\easyphp1-8\www\raiders\admin\match_add.php on line 126
    Cela ressemble plus à un problème php qu'à un problème SQL, non ?
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  8. #8
    Membre du Club Avatar de Pepito
    Profil pro
    Inscrit en
    Août 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2004
    Messages : 101
    Points : 57
    Points
    57
    Par défaut
    Je sais pas

    Si je met une requete simple a la place (SELECT * FROM matchs), ca marche, je n'ai pas le message d'erreur.

  9. #9
    Membre du Club Avatar de Pepito
    Profil pro
    Inscrit en
    Août 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2004
    Messages : 101
    Points : 57
    Points
    57
    Par défaut
    ca y'est ca marche !!

    En fait le probleme venait du fait que je concatenait plusieur 'morceaux' de la requete pour que ca soit + visible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          $sql3= "SELECT m.*, c1.nomClub AS club1, c2.nomClub AS club2";
    $sql3= $sql3."FROM matchs m INNER JOIN clubs c1 ON m.equipe1Match = c1.idClub";
    $sql3= $sql3."              INNER JOIN clubs c2 ON m.equipe2Match = c2.idClub";
    $sql3= $sql3."WHERE m.championnatMatch = $idChamp";
    $sql3= $sql3."ORDER BY m.journeeMatch ASC";
    Mais il fallait que je rajoute un espace a chaque fin de 'morceau' de requete car sinon ca coller les mots entre eux.
    Par exemple, pour la premiere ligne, ca faisait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT m.*, c1.nomClub AS club1, c2.nomClub AS club2FROM matchs m INNER JOIN...
    Ca collait donc les mots 'club2' et 'FROM' !!

    Merki beaucou pour ton aide et pour ta requete
    Pepit'

  10. #10
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par Pepito
    Merki beaucou pour ton aide et pour ta requete
    Pepit'
    pas de problème, c'est le but du forum
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

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

Discussions similaires

  1. [MySQL] php/mysql requete s'executant deux fois
    Par soohikei dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/05/2010, 11h58
  2. Afficher deux fois le meme Jpanel dans un autre Jpanel
    Par ryu20 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 06/11/2009, 01h31
  3. [A-03] Ouvrir deux fois le meme formulaire
    Par Gandalf24 dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/12/2008, 12h30
  4. ouverture d'un fichier deux fois en meme temps
    Par mm2405 dans le forum C++
    Réponses: 1
    Dernier message: 11/10/2007, 17h54
  5. Réponses: 6
    Dernier message: 17/08/2006, 19h16

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