我有许多到很多的数据库,我有一个查询,我只是被困住了,不能做到这一点。mysql多对多查询问题
我有4个表艺术家,曲目,专辑,剪辑
现在我的艺术家页面上,所以我需要由艺术家页面,让他们,我已经得到了所有他们,但不是我想要他们的方式。
因为一些曲目,专辑,剪辑也属于其他艺术家(二重奏),我需要显示他们的名字。
但问题是,我选择使用艺术家ID,所以我的GROUPC_CONCAT功能不会在这里工作是获取艺术家专辑的查询。
SELECT al.album_name, GROUP_CONCAT(a.artist_name SEPARATOR ', ') AS 'artist_name'
FROM
Albums al
LEFT JOIN
ArtistAlbums art ON art.album_id = al.album_id
LEFT JOIN
Artists a on a.artist_id = art.artist_id
WHERE
a.artist_id = 10
GROUP BY
al.album_id
其中一个专辑有两个艺术家附加到它,但它没有得到其他艺术家的名字。
当我选择album_id我得到了两位艺术家。
请注意,我是mysql新手,在这个特定问题上我没有找到任何答案,几乎没有多对多查询的资源。
我该如何解决这个问题。
任何有关如何处理应用程序层数据库的多对多资源或书籍将不胜感激, 预先感谢。
你已经明确表示去取什么艺术家的数据('a.artist_id = 10'),所以你会得到结果了该艺术家,不是为别人 –
是啊,我也说,这是我是问题有,我怎么能得到它的工作。 – ParparDromi