1

A と B の 2 つのテーブルがあります。A の主キーは id です。B には ids という列があり、これは varchar 型です。ids の値は、'1,2,3' のようにコンマで区切られた文字列です。次に、IDがBのIDにあるAの行を選択する方法は? たとえば、2 つのテーブルの内容は次のとおりです。

    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 に答える