是否可以将请求的结果存储在变量中以在" 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
答案 0 :(得分:0)
您需要subquery,
尝试:
SELECT
t1.*
FROM
table t1 ,(SELECT id FROM table WHERE id > 10) t2
WHERE t1.id=t2.id