使用场景
数据库里字段存的值是逗号分割的数据,查询到这个数据后需要在其他语句中作为条件。
table1
| id | name | age |
| 1 | 张三 | 18 |
| 2 | 李四 | 20 |
| 3 | 王五 | 22 |
table2
| id | names |
| 1 | 张三,李四,王五 |
想要查询 name 在 张三,李四,王五 中的人员姓名,可以写成
select * from table1 where name in ("张三","李四","王五");
如果是通过查询table2 得到的 table1_ids, 并且是字符串类型时,可以写成
select * from table1
where FIND_IN_SET(name, (select names from table2 where id = 1));

510

被折叠的 条评论
为什么被折叠?



