MYSQL:SELECT IN(可变内容)?

时间:2015-09-28 15:19:23

标签: mysql sql

是否可以将请求的结果存储在变量中以在" IN()"中使用它? ?我想做那样的事情:

SET @v1 := (SELECT id FROM table WHERE id > 10);
SELECT * FROM table WHERE id IN (@v1);

这不起作用,因为变量不能存储多行。所以我试过了:

SET @v1 := (SELECT GROUP_CONCAT(id) FROM table WHERE id > 10);
SELECT * FROM table WHERE id IN (@v1);

但这只会返回一个结果(第一个),而不是所有相应的ID。有办法吗?

~MetalFox Dioxymore

1 个答案:

答案 0 :(得分:0)

您需要subquery

尝试:

SELECT 
    t1.* 
FROM 
    table t1 ,(SELECT id FROM table WHERE id > 10) t2
WHERE t1.id=t2.id