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

Eléphanteau du PHP | 18 Messages

21 janv. 2012, 16:17

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

Mammouth du PHP | 1339 Messages

21 janv. 2012, 20:27

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.
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphanteau du PHP | 18 Messages

25 janv. 2012, 21:51

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