Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Mysql] syntaxe de ON

Sujet résolu
    20 septembre 2006 à 17:43:56

    Bonjour à tous

    J'ai rencontré récemment un problème avec la clause "ON" de MySQL

    La documentation n'a pas su me fournir la page que je recherchais, notemment a cause du grand nombre de "on" dans les commentaires.

    Voici ma requête :

    SELECT m.groupe_infos, m.id, m.nom, m.total_messages, m.popup_nouveau_mp, m.email_nouveau_mp, m.langue, m.email, me.dossiers_virtuels, g.messages_max, g.mp_actives
    FROM membres m, groupes g
            LEFT JOIN membres_infos mi ON (m.id = mi.id)
               WHERE LOWER(m.nom) IN ('nomenvoyéparPHP')
               AND m.groupe_id=g.groupe_id


    Voici l'erreur :
    Unknown column 'm.id' in 'on clause'



    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      20 septembre 2006 à 18:54:31

      çà veux dire que ta table "membres", n'as pas de champ nommé "id"
      • Partager sur Facebook
      • Partager sur Twitter
        20 septembre 2006 à 22:01:00

        Citation : minirop

        çà veux dire que ta table "membres", n'as pas de champ nommé "id"



        Si seulement c'était aussi simple ^^

        Ce qui m'embête, c'est que ma table "membres" a justement ce champ "id" (mediumint(8) pour être exact), et si ce n'était pas le cas, l'erreur ne surviendrait pas dans la clause, mais dans le "field list"

        a titre d'exemple :
        SELECT m.groupe_infos, m.idX, m.nom, m.total_messages, m.popup_nouveau_mp, m.email_nouveau_mp, m.langue, m.email, me.dossiers_virtuels, g.messages_max, g.mp_actives
        FROM membres m, groupes g
                LEFT JOIN membres_infos mi ON (m.id = mi.id)
                   WHERE LOWER(m.nom) IN ('nomenvoyéparPHP')
                   AND m.groupe_id=g.groupe_id


        renvoie :
        Unknown column 'm.idX' in 'field list'
        • Partager sur Facebook
        • Partager sur Twitter
          22 septembre 2006 à 17:01:36

          je ne suis pas sur et je m'avance peut être, mais dans le FROM il y a 3 tables donc il devrait y avoir 2 ON (et 2 jointures). rien à voir avec le msg d'erreur mais ça résoudrait p-e?

          SELECT m.groupe_infos, m.id, m.nom, m.total_messages, m.popup_nouveau_mp, m.email_nouveau_mp, m.langue, m.email, me.dossiers_virtuels, g.messages_max, g.mp_actives
          FROM membres m INNER JOIN groupes g ON m.groupe_id=g.groupe_id
                  LEFT JOIN membres_infos mi ON (m.id = mi.id)
                     WHERE LOWER(m.nom) IN ('nomenvoyéparPHP')
                   


          d'ailleurs je remarque que tu avais ajouté la 2eme condition de jointure à la fin ( m.groupe_id=g.groupe_id )
          et PS: si tu utilise LOWER () ne cherche pas de majuscules... : IN ('nomenvoyéparphp') :)
          • Partager sur Facebook
          • Partager sur Twitter
            23 septembre 2006 à 20:08:17

            Citation : pifou25

            je ne suis pas sur et je m'avance peut être, mais dans le FROM il y a 3 tables donc il devrait y avoir 2 ON (et 2 jointures). rien à voir avec le msg d'erreur mais ça résoudrait p-e?

            SELECT m.groupe_infos, m.id, m.nom, m.total_messages, m.popup_nouveau_mp, m.email_nouveau_mp, m.langue, m.email, me.dossiers_virtuels, g.messages_max, g.mp_actives
            FROM membres m INNER JOIN groupes g ON m.groupe_id=g.groupe_id
                    LEFT JOIN membres_infos mi ON (m.id = mi.id)
                       WHERE LOWER(m.nom) IN ('nomenvoyéparPHP')
                     



            d'ailleurs je remarque que tu avais ajouté la 2eme condition de jointure à la fin ( m.groupe_id=g.groupe_id )
            et PS: si tu utilise LOWER () ne cherche pas de majuscules... : IN ('nomenvoyéparphp') :)




            OUIIIIIIIIIIII, MERCI !!!

            béni soit-tu jusqu'a la fin de tes jours.... hein quoi ? j'en fais un peu trop ? :p
            • Partager sur Facebook
            • Partager sur Twitter

            [Mysql] syntaxe de ON

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown