搜索解决方法 mysql 限制引用超过 2 个级别的顶级查询

Searching workaround for mysql limitation to reference top level query over 2 levels

对于以下预期的 mysql/mariadb 查询:

SELECT * FROM aktfv f
LEFT JOIN
(SELECT * FROM (
       SELECT * FROM labor1a WHERE pat_id = f.pat_id
 UNION SELECT * FROM labor2a WHERE pat_id = f.pat_id) i
) i ON i.pat_id = f.pat_id;

我收到错误 1054:'where clause'、
中的未知列 'f.pat_id' 显然是因为只能在 1 级以上引用外部 table 参数的限制。
我想应用 'where' 子句,否则 'union select' 会花费很长时间。
谁能给我一个解决方法的提示?

SELECT  f.* ,l.* FROM aktfv f join labor1a l on  l.pat_id = f.pat_id
 UNION 
SELECT  f.* ,l.* FROM aktfv f join labor2a l on l.pat_id = f.pat_id

还是我遗漏了什么?