mysql 查询问题

向$看 2018-12-17 03:40:16

create table cs_A(
Id int primary key auto_increment,#部门ID
Name varchar(18)#部门名称

);
create table cs_B(
Id int primary key auto_increment,#员工ID
Name varchar(18),#员工名称
a_ids varchar(18)#员工所属部门集合字符串(例1,2)
);

insert into cs_A (name) value(111);
insert into cs_A (name) value(222);

insert into cs_B (name,a_ids) value ('张三','1');
insert into cs_B (name,a_ids) value ('李四','1,2');

如何查出 结果如下
部门 员工人数
111 1
222 2



求指教谢谢大神
...全文
73 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
向$看 2018-12-19
  • 打赏
  • 举报
回复
此函数 降低查询速度 慎用。。。。。我把字符串集合重新写了一个关系表。。。。。。
向$看 2018-12-17
  • 打赏
  • 举报
回复
thankyou
BlueStorm 2018-12-17
  • 打赏
  • 举报
回复
你是不是搞错了, 结果应该是下面的结果吧? 部门 员工人数 111 2 222 1
向$看 2018-12-17
  • 打赏
  • 举报
回复
大神呢 跪求哦 我今天思路全无 !
二月十六 2018-12-17
  • 打赏
  • 举报
回复
select name,(select count(1) from cs_B where find_in_set(cs_A.ID,CS_B.a_ids)>0) as pcount from cs_A 



27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧