具有三个表的简单数据库表结构;
artist, album, tracks其中,表相册有一个外键,名为artist_id,指向艺术家表中名为 id 的字段,而表跟踪具有外键,名为album_id,到表相册中的字段id。表跟踪,每个记录都有一个唯一的id,名为track_id,以及相册表的外键album_id。
从只知道track_id的角度来看,选择艺术家和专辑信息的查询看起来如何?
我尝试了以下操作,但它返回多个记录,这是不正确的。
SELECT *
FROM artist
INNER JOIN albums ON artist.id = albums.artist_id
INNER JOIN tracks ON tracks.track_id = '4021'显然缺少了什么..。
发布于 2017-08-01 19:40:08
使用where筛选,并添加了缺少的联接规范。
SELECT *
FROM
artist
INNER JOIN
albums
ON artist.id = albums.artist_id
INNER JOIN
tracks
ON tracks.album_id=albums.id
where tracks.track_id = '4021'发布于 2017-08-01 19:40:43
在tracks.album_id = albums.id上缺少连接音轨和专辑的条件
SELECT *
FROM artist
INNER JOIN albums ON artist.id = albums.artist_id
INNER JOIN tracks ON tracks.album_id = albums.id
and tracks.track_id = '4021' AND https://stackoverflow.com/questions/45446330
复制相似问题