在IN查询中使用文本CSV字段

时间:2013-12-08 10:30:22

标签: mysql sql

我有一个TEXT列,其中包含一个ids CSV,有点像这样

id    csvTextField  
2     38498734,2987349,5018,493850,12

我正在尝试在user_id IN (CSV)查询中使用该字段的内容。 我尝试了以下内容:

SELECT * FROM tbl2 WHERE tbl2.user_id IN (SELECT csvTextField FROM tbl1 WHERE tbl1.id=2)

但这似乎不起作用。

1 个答案:

答案 0 :(得分:1)

您可以使用FIND_IN_SET(col, 'csv as string')功能获得所需的结果。

示例

SELECT * FROM tbl2 
 WHERE
  FIND_IN_SET( 
    tbl2.user_id,
   ( select csvTextField FROM tbl1 WHERE tbl1.id=2 )
  ) > 0;