mysql中的列名 - IN子句不起作用

时间:2015-10-13 07:52:00

标签: mysql

我有2个表,t1t2

我可以在where子句中使用如下代码吗?

t2.id in (t1.itemOption)

itemOption包含逗号分隔值,例如1,2,3 ...

ID为1或2。

3 个答案:

答案 0 :(得分:0)

使用FIND_IN_SET(str,strlist)功能

FIND_IN_SET(t2.id,t1.itemOption)

答案 1 :(得分:0)

请尝试按照

t2.id in(从t1选择你的列

答案 2 :(得分:0)

如果列itemOption与逗号分隔,则只需汇总itemOption列中的所有值,然后在FIN_IN_SET中使用该值。

<强>查询

select * from t1 
where FIND_IN_SET
(
    t1.id,
    (select GROUP_CONCAT(itemOption SEPARATOR ',') from t2)
);

SQL Fiddle