Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL LEFT JOIN problème de logique de plusieurs tables

vous voulez toutes les chansons. sélectionner des chansons et effectuer une jointure gauche pour obtenir des données potentielles d'autres tables (trier par pour obtenir une meilleure représentation) :

SELECT a.artist_name, COALESCE(b.album_name, '(no album)'), s.song_name, 
FROM songs s
LEFT JOIN artists a
ON s.singer_id = a.singer_id
LEFT JOIN albums b
ON s.album_id = b.album_id AND s.singer_id = b.singer_id
ORDER BY a.artist_name, b.album_id