例子类似钉钉打卡考勤:SELECT * FROM fa_checkingroup WHERE ( (concat(',',cdepartment_id,',') regexp concat(',(',replace('2,12',',','|'),'),') OR (concat(',',cuser_id,',') regexp concat(',(',replace('40',',','|'),'),'))) AND !(concat(',',wuser_id,',') regexp concat(',(',replace('40',',','|'),'),')) ) AND company_id = 2
问题描述
比如table1中有两条记录
name no
a 2,9
b 8,10
然后有一串字符串,是0,1,2,3,4
然后通过一条sql,找出no为2,9的记录来```
因为字符串中有2,数据中也有2
详细解释
------------------------------
表的字段就是
name no
a 2,9
b 8,10
字符串是str="0,1,2,3,4"
接下来就是查 no字段里跟str里有交集的记录
查询的结果就是name=a的,no=2,9的
------------------------------