如何使用 Union All 校正结果

How to correct result with Union All

我正在获取 Union All but Only 1 查询的结果是 运行。

select user_leftside as SId  from tbl_user inner join (select @sid:=(select group_concat(user_leftside,',',user_rightside) from tbl_user where find_in_set(user_id, @nsid)) , @nsid:=@sid as fset from tbl_user, (select @nsid:='first_left_child',@sid='')v )gr on find_in_set(user_leftside,fset) where user_leftside <> ''
UNION ALL 
select user_rightside as SId  from tbl_user inner join (select @sid:=(select group_concat(user_leftside,',',user_rightside) from tbl_user where find_in_set(user_id, @nsid)) , @nsid:=@sid as fset from tbl_user, (select @nsid:='first_left_child',@sid='')v )gr on find_in_set(user_rightside,fset) where user_rightside <> ''

如何使用 Union All 获得结果。这是树相关查询

在这两个子查询中使用不同的变量名。

在 MySQL 查询中使用变量总是有风险的:无法保证评估的顺序。这些子查询甚至可能并行执行评估,因此您必须避免变量值从一个溢出到另一个。