使用变量:SELECT @a :=id FROM table_a
WHERE channel_id='519d5ed0-54ed-40a0-a1cd-095ed0edb507';
---37条数据
SELECT @b := pk_id FROM team WHERE id = @a;
---1条数据
不用变量:SELECT pk_id FROM team WHERE id
in (SELECT id FROM table_a
WHERE channel_id='519d5ed0-54ed-40a0-a1cd-095ed0edb507')
-- 18条数据
为什么出现这种情况?求解
WHERE id = @a
WHERE id in (SELECT id FROM table_a
WHERE channel_id='519d5ed0-54ed-40a0-a1cd-095ed0edb507')
一个是等号,一个in,当然不一样。上面@a只是一个值,而下面子查询的结果是一个集合,并且你也用的是in。
怎么才能将多个值一起赋给一个变量 ,把数据封装成一个List ,查的是时候迭代的查
mysql不支持数组类型的变量的,可以用临时表什么的。