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 :

erreur de syntaxe dans mon inner join


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 107
    Points : 56
    Points
    56
    Par défaut erreur de syntaxe dans mon inner join
    Bonjour,

    Je réalise un site web en asp.net c# et je débute en mysql et j'ai besoin d'un inner join sur 3 tables.

    la première table prj
    contient un id et différents champs

    la seconde mod
    contient un id, un nom et une description

    la troisième prj_mod
    correspond à l'id d'un projet et l'id d'un module en clé primaire

    J'aimerais pour un projet donné récupérer tous les modules qui le concernent, j'ai donc réalisé cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM mod 
    INNER JOIN prj_mod ON mod.mod_id = prj_mod.mod_fk_id 
    INNER JOIN prj ON prj.prj_id = prj_mod.prj_fk_id 
    where prj_mod.mod_fk_prj = @projetId;
    lors de l'exécution j'ai une exception levée:

    L'exception MysqlException n'a pas été gérée par le code utilisateur.

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mod INNER JOIN prj_mod ON mod.mod_id = prj_mod.mod_fk_id INNER JOIN prj ON prj.p' at line 1

    Si quelqu'un pourrait me débloquer, merci

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Comme tu fais plusieurs jointures sur la table prj, tu dois "aliasser" une des versions.
    D'autre part, je te recommande de ne pas utiliser SELECT *, surtout dans des jointures où une table est sollicitée plusieurs fois.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 770
    Points
    23 770
    Par défaut
    Euh non, il n'appelle qu'une seule fois la table prj .
    Par contre, MOD doit être un mot clef réservé de MySQL (j'ai pas vérifié, mais à tous les coups c'est ça, vu où commence le message d'erreur).

    Il faut soit renommer la table MOD (ce qui est préconisé), soit mettre le nom de la table entre ` (Alt Gr + 7).

    ced

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Ooops, au temps pour moi, j'ai lu trop vite.
    Par contre je maintiens ma recommandation quant au SELECT *, bien sûr.

  5. #5
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 770
    Points
    23 770
    Par défaut
    Citation Envoyé par ced Voir le message
    Par contre, MOD doit être un mot clef réservé de MySQL (j'ai pas vérifié, mais à tous les coups c'est ça, vu où commence le message d'erreur).
    Maintenant que j'ai vérifié, je confirme : http://dev.mysql.com/doc/refman/5.0/...ved-words.html

    ced

  6. #6
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Voui, voui, c'est la fonction modulo.

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    Merci à vous 2, j'ai modifié le nom de ma table et le problème est résolu

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

Discussions similaires

  1. [Red Hat5]Erreur de syntaxe dans mon script
    Par mika0102 dans le forum Linux
    Réponses: 9
    Dernier message: 01/09/2010, 16h28
  2. Erreur de syntaxe dans mon code (pas facile à trouver)
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/01/2010, 07h42
  3. [phpMyAdmin] Erreur de syntaxe dans mon script de création
    Par piotrr dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 18/08/2008, 15h45
  4. [XML] Rss, erreur de syntaxe dans mon flux?
    Par Soten dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/04/2007, 09h02
  5. Réponses: 8
    Dernier message: 23/08/2006, 22h22

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