Quelle requête sql utilisé? [Fermé]

Messages postés
183
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
30 août 2012
- - Dernière réponse : epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
- 23 mai 2008 à 17:19
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.
Afficher la suite 

8 réponses

Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
Fais une jointure entre la table commune et la table département.

Epsilone
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
ç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
abdali
Messages postés
183
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
30 août 2012
7 -
merci pour la réponse , mais j'ai pas bien compris pourquoi vous avez mis a et b
merci
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
112 -
SELECT DISTINCT a.numeroregion
FROM département a, commune b
WHERE a.numerodépartement=b.numerodépartement
AND b.identifiantcommune="libelle";

non ?
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
112
0
Merci
C'est un alias, a.numerodépartement=b.numerodépartement c'est moins long à taper que département.numerodépartement=commune.numerodépartement
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
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
abdali
Messages postés
183
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
30 août 2012
7 -
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
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
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
abdali
Messages postés
183
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
30 août 2012
7 -
ok c'est claire
merci
Messages postés
183
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
30 août 2012
7
0
Merci
voici le message que j'ai quand je fais la requête
MySQL n'a retourné aucun enregistrement. (Traitement en 0.0003 sec.)
Messages postés
183
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
30 août 2012
7
0
Merci
je vous reponderez lundi si j'ai du nouveau
bon week end et merci
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
Bonjour,

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

Bon weekend.

Epsilone