我创建了一个返回单列 officeid 的过程
call officetree(15);
我需要通过officetree程序获取officeid返回的员工列表
select * from master_employee where officeid in ( here i want put my officeids return from procedure)
是否可以实现此目的,如果可以,其语法是什么。
程序内部
Below ofcid is parameter of procedure
select `ofc_id`
from (select * from master_office
order by `ofc_parent_id`, `ofc_id`) master_office,
(select @pv := ofcid) office
where (find_in_set(`ofc_parent_id`, @pv) > 0
and @pv := concat(@pv, ',', `ofc_id`)) or ofc_id=ofcid
最佳答案
不,据我所知,您不能在 MySQL 中使用 SP 作为子查询。
引用号:Using a stored procedure as subquery
引用号:https://forums.mysql.com/read.php?10,556522,556538#msg-556538
是否可以在 MySQL 5.5 子查询中调用存储过程。
不。
建议,尽可能少地使用存储过程(我十年的经验告诉我)
关于php - mysql in 子句使用过程而不是子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48127050/