【发布时间】:2020-05-22 10:01:15
【问题描述】:
首先,我不擅长英语。所以请原谅我。
这是我的数据库
songs: id, songname, songpath, coverpath
genre : id, genrename
detail_genre : id, id_song, id_genre
我的 SONGS 表内容示例:
1, Kasbo - Aldrig Mer, songs/kasbo.mp3, cover/kasbo.jpg
2, Pamungkas - One Only, songs/oneonly.mp3, cover/oneonly.jpg
我的 GENRE 表内容示例:
1, Electronic Dance Music
2, Pop
3, Indie
我的 DETAIL_GENRE 表内容示例:
1, 1, 1
2, 2, 3
3, 2, 2
因此,您会注意到每一首歌曲都可以有多种流派。
我想要 SELECT 查询(songid、songname、songpath、coverpath、group of (id_genre)、group of (genre_name))。所以结果会是这样的
1, Kasbo - Aldrig Mer, songs/kasbo.mp3, cover/kasbo.jpg, 1, Electronic Dance Music
2, Pamungkas - One Only, songs/oneonly.mp3, cover/oneonly.jpg, (2,3), (Pop, Indie)
或者只是(songid、songname、songpath、coverpath、group of (id_genre))
1, Kasbo - Aldrig Mer, songs/kasbo.mp3, cover/kasbo.jpg, 1
2, Pamungkas - One Only, songs/oneonly.mp3, cover/oneonly.jpg, (2,3)
我试过这样选择
SELECT * FROM detail_genre dg JOIN genre g ON dg.id_genre = g.id JOIN songs s ON dg.id_song = s.id GROUP BY g.id
但如果某个流派有很多歌曲,它只会显示他们找到的第一首歌曲。
可以帮助我的人获得我想要的 SELECT QUERY 吗?我是新手。之前谢谢。
【问题讨论】: