如何在mysql中将值与csv值进行比较?

Blu*_*ica 2 mysql

表格1

id(int) |  name(varchar)
1       |  at,bat
2       |  cat,at,bat,mat
3       |  mat,cat
4       |  sat,bat
Run Code Online (Sandbox Code Playgroud)

表2

id(int)  |  type(varchar)
1        |  at
2        |  mat
Run Code Online (Sandbox Code Playgroud)

如您所见,table1包含csv字符串.现在我需要获取id从s Table 1,其name小号存在的Table2类型字段.

有没有任何纯mysql查询方式这样做?如果没有,在大型记录集的情况下,最有效的方法是什么?

Mic*_*aga 5

我会用FIND_IN_SET(str,strlist):

select distinct t1.id
from table1 t1
join table2 t2 on find_in_set(t2.type, t1.name) > 0
Run Code Online (Sandbox Code Playgroud)

工作示例:http://sqlfiddle.com/#!2/b642c/4