mysql查询每一个name对应的id
如表a:
id name
1 n1
2 n2
现在有一堆name:'n1','n2','n2','n1',期望查到对应四个id
id
1
2
2
1
sql语句要怎么写
有两张表,
一张为爱好表b表
一张为用户表 u表
u表
id 名称 爱好Id
1 张三 1,2,3,4
2 李四 2,5
b表
id 名称
1 打乒乓
2 打羽毛球
3 打蓝球
4 上网玩游戏
5 打牌
正常查询u表
select * from u
现在需求是:
id 名称 爱好
1 张三 打乒乓,打羽毛球,打篮球,上网
2 李四 打羽毛球,打牌
修改sql为
select u.id,u.名称,group_count(b.名称) from u left join b on find_in_set(b.id,u.爱好Id) group by u.id;
热门标签: