Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL LEFT JOIN problema logico di più tabelle

vuoi tutte le canzoni. seleziona dai brani ed esegui un join sinistro per ottenere potenziali dati da altre tabelle (ordina per per ottenere una rappresentazione migliore):

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