首页 > SQL 一条语句查询出所有记录的信息和每条信息所拥有的对应标签的数量

SQL 一条语句查询出所有记录的信息和每条信息所拥有的对应标签的数量

举个栗子。
两个表
歌曲表 music,两个字段 music_id, name
歌曲标签表 music_tag,两个字段 music_id, tag_id
我想一条SQL语句将 music 表中的 所有的 music_id 和 name 及其所拥有的标签的数量查询出来(假设只有部分歌曲拥有标签),请问怎么写?JOIN 来 JOIN 去都没对,我是用的 MySQL。


select music_id, name,isnull(temp.music_tag,0) from music left join
(select music_id, count(0) as num from music_tag group by music_id) temp
where music.music_id = temp.music_id

大致是这样。。语法如果有错稍微改一下吧~


已测试 ,语句如下:

select music.music_id,music.name,count(music_tag.music_id) as num from music left join music_tag on music.music_id=music_tag.music_id group by music.music_id
【热门文章】
【热门文章】