Page 1 sur 1

Requete SQL, compter le nom d'enregistrement dans la requete

Posté : 21 janv. 2012, 16:17
par ConceptInterWEB
Bonjour à tous,

J'effectue la requête suivante :

Code : Tout sélectionner

"SELECT a.*, u.nickname, u.prenom, s.titre FROM sorties_album a INNER JOIN usagers u ON a.ID = u.ID INNER JOIN sorties s ON a.id_sortie = s.id_sortie WHERE a.type_album = 'P' AND a.visible = '0' AND a.effacer = '0' ORDER BY a.date_ajout DESC";
Les gens lorsque une sortie est fermée, ils vont créer un album, et ajouter des photos dans celui-ci. Dans cette requête tout les albums sont trouvés, mais certaines personnes n'ajoutent aucune photo, et l'album est visible dans le paramètre de celui-ci ou il n'est pas effacé. Je voudrais ajouter dans ma requête d'exclure les albums ou il n'y a aucune photo.

Les photos sont sauvegardes dans la base de données sorties_photos, dans la table sorties_photos, j'ai l'identifiant de l'album créer id_album.

Si vous avez besoin d'éclaircissement n'hésitez pas à m'écrire.

Sylvain

Re: Requete SQL, compter le nom d'enregistrement dans la req

Posté : 21 janv. 2012, 20:27
par Elie
Et si tu fais un SELECT DISTINCT `id_album` FROM `sorties_photos` avant pour ne lancer cette requete que pour les albums ayant au moins une photo.

Re: Requete SQL, compter le nom d'enregistrement dans la req

Posté : 25 janv. 2012, 21:51
par ConceptInterWEB
Hello,

c'est effectivement ce que j,ai fais, et le tout à fonctionné.

Voici la requête pour ceux et celles qui en aurait de besoin :

Code : Tout sélectionner

SELECT a.*, u.nickname, u.prenom, s.titre FROM sorties_album AS a INNER JOIN usagers AS u ON a.ID = u.ID INNER JOIN sorties AS s ON a.id_sortie = s.id_sortie INNER JOIN ( SELECT sp.id_album FROM sorties_photos AS sp GROUP BY sp.id_album HAVING COUNT(sp.id_album) > 0 ) AS sps ON a.id_album = sps.id_album WHERE a.type_album = 'P' AND a.visible = '0' AND a.effacer = '0' ORDER BY a.date_ajout DESC
vous n'aurez qu'a l'adapter selon vos besoins