IN字符串MySQL

2da*_*dar -1 mysql sql

我在我的数据库中有这个表:

+----+-----------+
| ID |    JOB    |
+----+-----------+
|  1 | Developer |
|  2 | Designer  |
+----+-----------+
Run Code Online (Sandbox Code Playgroud)

我想运行这个通常会得到ID的查询:2

select j.ID from jobs j where 'Designer' in ( j.JOBS ) 
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我喜欢这张桌子时它不起作用

+----+------------------------------------------+
| ID |                   JOB                    |
+----+------------------------------------------+
|  1 | Developer                                |
|  2 | Designer,administrator,analyst,Developer |
+----+------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

因为j.JOBS的值是字符串:'Designer,administrator,analyst,Developer'

不喜欢commat这样的多重价值观:'设计师','管理员','分析师','开发者'

所以,我怎么能解决这个问题,我希望我能很好地解释我的问题.谢谢

Gor*_*off 7

考虑一下您在单列中存储值列表时的麻烦.你应该有一个单独的表,每行一行,每id行一行job.没有列表连续.关联表中每行只有一个项目.

但问题的答案是find_in_set():

select j.ID
from jobs j
where find_in_set('Designer', j.JOBS ) > 0;
Run Code Online (Sandbox Code Playgroud)