Aller au contenu

Plusieurs réponses dans un left Join Mysql


Sujets conseillés

Posté (modifié)

Bonjour, ça fait longtemps que j'ai plus plongé mes doigts dans l'php du coup j'ai perdu quelques réflexes.

Là j'ai trois tables :

Artists

nom de l'artiste

bio

etc.

Musics

nom de la musique

lien

etc.

Artiststomusics (plusieurs artistes pour une musique, plusieurs musique pour un artistes)

id de la musique

id de l'artiste

J'aimerais selectionner toutes les nouvelles musiques en y associant le nom des différents artistes qui y ont participé

Pour le moment je fais cette requête :

SELECT

musics.id_musics,

musics.autre_artists,

musics.image_musics,

musics.titre,

musics.lien_externe,

artists.pseudo,

DATE_FORMAT(musics.date_release, '%b %D %Y') as datede

FROM musics AS musics

LEFT JOIN artiststomusics AS artiststomusics ON (musics.id_musics = artiststomusics.id_musics)

LEFT JOIN artists AS artists ON (artists.id_artists = artiststomusics.id_artists)

ORDER BY musics.date_release DESC LIMIT 0,10

Problème c'est qu'il m'affiche deux fois la même musique avec un nom d'artiste différents, exemple de ce qu'il affiche :

Bartosz Brenes

Why

Release date: Jan 1st 2009

Geyster

Why

Release date: Jan 1st 2009

Alors que j'aimerais afficher :

Bartosz Brenes & Geyster

Why

Release date: Jan 1st 2009

Comment je pourrais faire ?

Modifié par guiant
Posté (modifié)

Merci beaucoup, je connaissais pas du tout et c'est niquel !

Pour ceux que ça intéresse ma requête ressemble à ça maintenant :

SELECT

musics.id_musics,

musics.autre_artists,

musics.image_musics,

musics.titre,

musics.lien_externe,

GROUP_CONCAT(artists.pseudo ORDER BY artists.pseudo SEPARATOR ", ") AS pseudos,

DATE_FORMAT(musics.date_release, '%b %D %Y') as datede

FROM musics AS musics

LEFT JOIN artiststomusics AS artiststomusics ON (musics.id_musics = artiststomusics.id_musics)

LEFT JOIN artists AS artists ON (artists.id_artists = artiststomusics.id_artists)

GROUP BY artiststomusics.id_musics

ORDER BY musics.date_release DESC LIMIT 0,10

Merci encore !

Modifié par guiant

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...