PROBLEME SQL INNER JOIN

J'ai les tables suivantes :

afdcc_membres (NOMPRENOM, NADH)
afdcc_groupes(titre, id_groupe)
afdcc_transition_groupes(NADH, id_groupe)

Comme vous l'avez compris, ce n'est qu'un simple problème d'INNER JOIN avec 3 tables à mixer, mais je bloque. Eh oui, ça arrive à tout le monde !!!

Voici mon SQL :

SELECT afdcc_membres.NOMPRENOM, afdcc_groupes.titre, afdcc_groupes.id_groupe
FROM afdcc_groupes INNER JOIN (afdcc_membres INNER JOIN afdcc_transition_groupes ON afdcc_membres.NADH = afdcc_transition_groupes.NADH) ON afdcc_groupes.id_groupe=afdcc_transition_groupes.id_groupe

pouvez-vous me dire pourquoi ça me sort ce message d'erreur et comment le résoudre ?

MySQL said: You have an error in your SQL syntax near '(afdcc_membres INNER JOIN afdcc_transition_groupes ON afdcc_membres.NADH = afdcc' at line 2

Merci d'avance,

Crhistian

3 réponses

  1. Essaye plutôt cela :

    SELECT afdcc_membres.NOMPRENOM, afdcc_groupes.titre, afdcc_groupes.id_groupe
    FROM (afdcc_groupes INNER JOIN afdcc_transition_groupes ON afdcc_groupes.id_groupe = afdcc_transition_groupes.id_groupe) INNER JOIN afdcc_membres ON afdcc_transition_groupes.NADH = afdcc_membres.NADH;
    1. Bonjour,
      comment faire pour mettre a jour une table par un champs d'une autre table.
      Je suis sous oracle 9i. ( j'ai essayé avec le inner join, mais ça n'a pas marché).
      merci d'avance
      1. Certaines versions de My SQL ne prennent pas les INNER JOIN, il faut que tu fasse tes jointures à la main.

        SELECT afdcc_membres.NOMPRENOM, afdcc_groupes.titre, afdcc_groupes.id_groupe
        FROM afdcc_groupes G, afdcc_transition_groupes T, afdcc_membres M
        WHERE G.id_groupe = T.id_groupe
        AND M.NADH = T.NADH

        essaye ça, ça doit marcher.

        1. Oui mais a partir de la version MySQL la version 3.23.17 et elle est ancienne