【发布时间】:2020-01-08 14:50:46
【问题描述】:
我在音乐数据库中有两张桌子。 [Artists] 具有 PK 艺术家 ID 和 艺术家名称。 [Albums] 有 FK 艺术家 ID、album_id、album_name 和 rating。
我想select MAX(rating), album_name 和GROUP BY [album].artist_id。 Access 会阻止我显示 album_name,因为它必须包含在 GROUP BY 函数中,而 artist_id 则不符合这一点。
我的查询:
SELECT albums.artist_id, MAX(albums.rating)
FROM Albums
GROUP BY albums.artist_id;
上面的查询为每个艺术家选择了排名靠前的专辑,但不包括专辑的名称。我还尝试JOINs 让 artist_name 显示,但没有成功。
您能告诉我如何选择必填字段吗? 编辑:我得到了这个查询:
SELECT Album_name, rating, Artists.artist_name
FROM Albums
INNER JOIN Artists ON Albums.artist_id = Artists.Artist_id
WHERE rating = (select MAX(rating) from Albums i
WHERE i.artist_id = albums.artist_id)
【问题讨论】: