在Mysql子句中使用GROUP_CONCAT result

在Mysql子句中使用GROUP_CONCAT result,mysql,group-concat,Mysql,Group Concat,我有一个q查询,它返回逗号分隔的整数 像 现在我想在另一个查询中使用该结果 像 在此情况下,只考虑In子句中的FordSt值。< P>不使用连接和使用子查询的任何特殊原因 select * from table1 t1 JOIN table2 t2 on (t2.column = t1.ids) 我同意@Alma的观点,这不能用IN来完成,你也许可以用IN来完成,但如果你能用IN来完成,这可能是一个更好的方法: SELECT * FROM table1 WHERE find_in_set(id

我有一个q查询,它返回逗号分隔的整数 像

现在我想在另一个查询中使用该结果 像


在此情况下,只考虑In子句中的FordSt值。

< P>不使用连接和使用子查询

的任何特殊原因
select * from table1 t1
JOIN table2 t2 on (t2.column = t1.ids)

我同意@Alma的观点,这不能用IN来完成,你也许可以用IN来完成,但如果你能用IN来完成,这可能是一个更好的方法:

SELECT *
FROM table1
WHERE find_in_set(ids, (
      SELECT GROUP_CONCAT(ids)
      FROM table2
      )) != 0;

如果您可以在()中直接使用
,则这不是一个很好的解决方案,
GROUP\u CONCAT
是不可取的,因为它有一个字符限制,如果您在回答中使用,您需要增加该字符限制,您还需要进行简要说明,如果可以用简单的方法完成,那么为什么先设置然后应用
find\u in\u set
这是有意义的?我不是说这是一个好方法。我建议改为使用IN,但我认为这正是他所要求的。有没有其他方法,在where子句中使用IN来表示组的值,而不是在集合中查找
select * from table1 t1
JOIN table2 t2 on (t2.column = t1.ids)
SELECT *
FROM table1
WHERE find_in_set(ids, (
      SELECT GROUP_CONCAT(ids)
      FROM table2
      )) != 0;