Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL LEFT JOIN Logikproblem bei mehreren Tabellen

Sie wollen alle Lieder. Wählen Sie aus Songs aus und führen Sie eine Linksverknüpfung durch, um potenzielle Daten aus anderen Tabellen zu erhalten (sortieren Sie nach, um eine schönere Darstellung zu erhalten):

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