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. 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
    2. 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