1

我有两个表A和B。A的主键是id。B中有一个叫ids的列,它是varchar类型。ids的值是一个用逗号分隔的字符串,比如'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 中执行此操作?

4

1 回答 1

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

于 2013-10-08T12:27:46.003 回答