说我想在mysql中执行以下查询:
select id from tbl where id in (2,3)
但字符串' 2,3'已存储在另一个表格的列中,例如tbl2.data
。是否可以做类似以下的事情:
select id from tbl where id in (select data from tbl2 where x=y);
当我尝试时,结果等于
select id from tbl where id in (2);
好像结果已转换为第一个数字
答案 0 :(得分:0)
试试:
(select group_concat(data) from tbl2 where x=y);
或简单地使用它。
select id from tbl
INNER JOIN tbl2
ON tbl.id = tbl2.data
WHERE x=Y
答案 1 :(得分:0)
您可以使用子查询执行此操作,但需要使用find_in_set()
而不是in
:
select id
from tbl
where exists (select 1 from tbl2 where x=y and find_in_set(id, data) > 0);