BEGIN
DECLARE reslut varchar(80);
DECLARE outId varchar(50);
DECLARE visitName varchar(50);
DECLARE ListCount int;
DECLARE iRow int;
DECLARE iRow2 int;
-- 获取拜访人表的行数 --
select count(*) into ListCount from t_material_out_visit_detail WHERE STATUS_ > -1 AND MATERIAL_OUT_ = materialoutId;
set iRow = 1;
-- 遍历拜访人表 --
WHILE (iRow <= ListCount) do
set iRow2 = iRow-1;
-- 获取拜访人表的出库id --
SELECT MATERIAL_OUT_,NAME_ into outId,visitName from t_material_out_visit_detail WHERE STATUS_ > -1 AND MATERIAL_OUT_ = materialoutId ORDER BY MATERIAL_OUT_ LIMIT iRow2,1;
-- 如果拜访人表的outid等于传入的materialoutId相等,则将姓名拼接到reslut
if (outId <=> materialoutId) > 0 THEN
SET reslut = CONCAT_WS(',',reslut,visitName);
end if;
set iRow = iRow+1;
end while;
RETURN reslut;
END
【mysql】函数-遍历表并拼接某列值并返回
最新推荐文章于 2022-08-01 17:54:52 发布