Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
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 09/01/2012, 21h02   #1
Membre du Club
 
Inscription : février 2007
Messages : 187
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 187
Points : 41
Points : 41
Par défaut Sélection de tous les élements avec un requête en jointures

Bonjour,

J'ai un problème de requête qui me pose problème
J'ai deux tables :

TABLE_1 :
- ID_1
- DESCR

TABLE_2
- ID_2
- DETRUIT
- ID_1

Je voudrais faire un requête qui sélectionne tous les éléments de la TABLE_1
et qui compte le nombre fois ou l'ID_1 est dans une entrée de la TABLE_2 uniquement pour les entrées non détruites

Donc ma requête :

Code :
SELECT ID_1, COUNT(ID_2) AS NOMBRE_FOIS FROM TABLE_1 JOIN TABLE_2 USING(ID_1) WHERE DETRUIT = "NON"
Le problème est que si l'ID_1 d'une entrée de la TABLE_1 n'est présent dans aucune entrée de la TABLE_2, alors il ne sera pas affiché, mais pourtant je le voudrais.

Une idée de ce que je peux faire pour améliorer cette requête ?
Merci d'avance pour vos réponses.
Neilime05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 22h18   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 657
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 657
Points : 2 660
Points : 2 660
bonjour,


alors les jointures c'est par ici : http://sqlpro.developpez.com/cours/s...ntures/#LIII-C
et pour le count.. utilisez un group by ! http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L1
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/01/2012, 15h16   #3
Membre du Club
 
Inscription : février 2007
Messages : 187
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 187
Points : 41
Points : 41
Autant pour moi j'ai oublié le GROUP BY dans ma requête.

Et mon problème est résolu en ajoutant la condition de DETRUIT dans les conditions de JOIN
Code :
1
2
3
4
SELECT ID_1, COUNT(ID_2) AS NOMBRE_FOIS 
FROM TABLE_1 
JOIN TABLE_2 ON(TABLE_1.ID_1 = TABLE_2.ID_1 AND DETRUIT = "NON") 
GROUP BY TABLE_2.ID_2
Merci
Neilime05 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 09h22.


 
 
 
 
Partenaires

Hébergement Web