通过查询从其他表中获取10个曲目的完整信息

gjmwrych  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(258)

我有三张table

相册表

艺术家桌

我想从表歌曲与完整的信息包括专辑名称,专辑id,专辑封面,艺术家名称(多个艺术家在某些情况下),艺术家id,。。。每首歌。我使用这个查询,但它不起作用

SELECT song.SID, artist.NAME, song.COVER, song.TITLE, album.COVER AS ACOVER, album.TITLE AS ATITLE, album.AID 
FROM song
INNER JOIN album ON album.SONG LIKE CONCAT('%,',song.ID,',%') 
INNER JOIN artist ON song.ARTIST LIKE CONCAT('%,',artist.ID,',%') 
ORDER BY song.ID DESC

出什么事了?

a14dhokn

a14dhokn1#

正如@tim biegeleisen提到的,我也建议您在继续之前对数据进行规范化。
我将创建两个新的关系表:

AlbumxSong with fields:
AID
SID

ArtistxSong with fields:
SIID
SID

那你就不需要 ARTIST 中的字段 Song table。和我一样 SONG 字段输入 Album table。你可以在关系表中找到这些信息。
我希望这有帮助。

相关问题