我有两个表A和B.A的主键是id。在B中有一个名为id的列,它是一个varchar类型.id的值是一个用逗号分隔的字符串,如'1,2, 3' 。 那么如何选择A中谁的id在B的ID中? 例如,两个表的内容是:
A
id name
1 jack
2 rose
B
id ids
1 1,2
2 1
如果B.id = 1,我想选择jack和rose。 我应该如何在mysql中执行此操作?
答案 0 :(得分:2)
您可以使用FIND_IN_SET
FIND_IN_SET(str,strlist)
<强>查询强>
SELECT
a.name
FROM
a
INNER JOIN b
ON (FIND_IN_SET(a.id,b.ids) > 0)
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set