我收到以下代码的“第5行”的SQL语法错误。
SELECT artists.name, albums.title, genres.genre
FROM artist_album
JOIN artists ON artist_album.artist_id = artists.id
JOIN albums ON artist_album.album_id = albums.album_id
FROM album_genre
JOIN genres ON album_genre.genre_id = genres.genre_id
WHERE genres.genre = 'Pop' OR genres.genre = 'Rock'
我想要找到的是数据库中所有发布“摇滚”或“流行”专辑的艺术家。查询应返回艺术家姓名,专辑标题和专辑类型..
我的表是:
albums
album_id
released
title
artist
id
name
genres
genre_id
genre
album_genre
album_id
genre_id
artist_album
album_id
artist_id
我对SQL很陌生,所以我确定我所做错的是我不知道的事情......但是在网上挖了一下之后,我看不出我在语法上做错了什么。
非常感谢任何帮助/建议,谢谢!
答案 0 :(得分:1)
看起来应该是
JOIN album_genre ON album_genre.album_id = albums.album_id
而不是
FROM album_genre
答案 1 :(得分:0)
这是你的SQL:
SELECT artists.name, albums.title, genres.genre
From artists join artist_album On artist_album.artist_id = artists.id
join albums ON artist_album.album_id = albums.album_id
join album_genre ON album_genre.album_id =albums.album_id
JOIN genres ON album_genre.genre_id = genres.genre_id
WHERE genres.genre = 'Pop' OR genres.genre = 'Rock'