Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL LEFT JOIN problema de lógica de várias tabelas


você quer todas as músicas. selecione das músicas e execute uma junção à esquerda para obter dados potenciais de outras tabelas (ordene por para obter uma representação melhor):
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