Quelle requête sql utilisé?

Bonjour,
j'ai une base de données avec plusieurs tables sous mysql mon problème est le suivant:
je vous donne un exemple:
soit les tables :

region{idregion,nom region,numeroregion}

département{iddép,nomdépartement,numerodépartement,numeroregion}

commune{idcom,nomcommune,identifiantcommune,numerodépartement}

je voudrais savoir quelle est la requête SQL qu'il faut faire pour avoir le

numeroregion à partir identifiantcommune

merci d'avance.
Configuration: Linux
Firefox 3.0

8 réponses

  1. Fais une jointure entre la table commune et la table département.

    Epsilone
    1. ça doit être ça :

      SELECT DISTINCT a.numeroregion
      FROM département a, commune b
      WHERE a.numerodépartement=b.numerodépartement;

      Mais fais attention aux accents!

      Epsilone
      1. merci pour la réponse , mais j'ai pas bien compris pourquoi vous avez mis a et b
        merci
      2. SELECT DISTINCT a.numeroregion
        FROM département a, commune b
        WHERE a.numerodépartement=b.numerodépartement
        AND b.identifiantcommune="libelle";

        non ?
    2. C'est un alias, a.numerodépartement=b.numerodépartement c'est moins long à taper que département.numerodépartement=commune.numerodépartement
      1. Bonjour,

        Bin j'ai mis le a et le b comme alias c'est tout.
        Car les deux table commune et département contiennent un champ du même nom. Pour faire la différence, j'ai utilisé le a et le b.

        Tu peux faire ça aussi, sans le a et le b :) :
        SELECT DISTINCT département.numeroregion
        FROM département, commune
        WHERE département.numerodépartement=commune.numerodépartement;

        Et tu peux ajouter dans le WHERE autant de consitions que tu veux ;)

        Epsilone
        1. donc le point permet de différencier entre les deux champs des deux tables c'est ça?
          je vais essayer et je vous rendrais la réponse
          merci
      2. Si ta table TABLE contient les champs Champs1, Champs2, Champs3

        Bin la syntaxe est :

        TABLE.Champs1 pour avoir le Champs1
        TABLE.Champs2 pour avoir le Champs2
        TABLE.Champs3 pour avoir le Champs3

        OK?

        Epsilone
        1. ok c'est claire
          merci
      3. voici le message que j'ai quand je fais la requête
        MySQL n'a retourné aucun enregistrement. (Traitement en 0.0003 sec.)
        1. je vous reponderez lundi si j'ai du nouveau
          bon week end et merci
          1. Bonjour,

            Bin parcequ'il n'a trouvé aucun enregistrement avec les conditions que tu lui a posé!

            Bon weekend.

            Epsilone