在IN Clause Mysql中使用GROUP_CONCAT结果

时间:2013-11-15 11:50:26

标签: mysql group-concat

我有一个q查询,它返回逗号拼写整数 喜欢

select GROUP_CONCAT(ids) from table2

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

select * from table1 where column in (select GROUP_CONCAT(ids) from table2)

在这种情况下,它只考虑IN子句中的forst值。

2 个答案:

答案 0 :(得分:6)

我同意@Alma认为IN无法做到这一点,你可以用FIND_IN_SET做到这一点,但是如果你能用IN做到这一点可能是一个更好的方法:

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

sqlfiddle demo

答案 1 :(得分:2)

任何不使用联接和使用子查询的特殊原因

select * from table1 t1
JOIN table2 t2 on (t2.column = t1.ids)