Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2006, 20h14   #1
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 56
Points : 31
Points : 31
Par défaut [SQL] En une seule requête

Bonjour,
je voudrais faire en une seule requête ce que je n'arrive à faire qu'en deux, mais je ne vois pas comment. J'ai tenté les jointures mais sur MySQL et avec l'usage de DISTINCT rien ne marche.. JOIN pas mieux.
Le code suivant marche mais je ne trouve pas ça très performant en fait ...
- J'extrais les numéros de département d'un annuaire et je veux que le nom de ces départements apparaissent. Ces noms sont dans une autre table nommée départements. Je sais c'est tout bête mais je bloque.
Pour le moment j'utilise DISTINCT pour récupérer les No, je les places dans un tableau pour m'en servir sur une seconde requête.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
// on recupère les No de departement de l'annuaire
$sql1="SELECT DISTINCT(departement)
       FROM annuaire 
       ORDER BY departement ASC";
$query1=mysql_query($sql1) or die(mysql_error());
for($i=0; $i < $val1 = mysql_fetch_array($query1); $i++){
	// on les mets dans un tableau
	$departement[$i]= $val1["departement"];
}
// on trie le tableau
sort($departement);
//print_r($departement);
// on récupère les nom de département par le No dans la table departements
for($j=0; $j < sizeof($departement); $j++){
	$sql3="SELECT iddepartements, nom 
               FROM departements
               WHERE departements.iddepartements = '".$departement[$j]."'";
	$query3=mysql_query($sql3) or die(mysql_error());
	$val3 = mysql_fetch_array($query3);
        // second tableau qui contient No et nom des départements
	$departement_2[$val3["iddepartements"]] = $val3["nom"];	
}
Spaccio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 20h17   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
heu... tu es sûr que cette requête ne fonctionne pas ? :
Code :
1
2
3
4
5
SELECT DISTINCT D.iddepartements, D.nom 
FROM departements D
   INNER JOIN annuaire A
      ON A.departement = D.iddepartements
ORDER BY D.iddepartements ASC
??
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 20h33   #3
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 56
Points : 31
Points : 31
WHouaaa merci Swoög
maintenant que je le vois je me rends compte que je me suis emmêlé les pinceaux quand j'ai fait le JOIN tout à l'heure, j'avais pas pensé à INNER JOIN !!
Il est temps que je ressorte les cours là, j'ai le bulbe tout mou
Spaccio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 20h38   #4
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög


pour tout ce qui touche à SQL, il y a le tuto de SQLpro linké dans mon Espace perso (cf signature) il est super ^^
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h44.


 
 
 
 
Partenaires

Hébergement Web