我正在使用 mysql,我有 2 个表
emp(id int, name varchar, dept_id int)
dept(id int, name varchar)
我想让员工有以下限制: 员工姓名与其部门名称至少有1个共同词。
解决方案可以是select语句还是存储过程?但是欢迎任何解决方案。
最佳答案
使用REGEXP并从 emp.name
创建一个搜索字符串。这是 SQLFiddle demo
select emp.id,
emp.name emp_name,
dept.name dep_name from emp
join dept
where emp.dept_id=dept.id
AND
dept.name regexp
CONCAT('([[:<:]]',
REPLACE(
TRIM(emp.name),
' ',
'[[:>:]]|[[:<:]]'
),
'[[:>:]])');
关于mysql - 在mysql中查找具有常用词的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12513850/