mysql限制的搜索工作区,以引用超过2个级别的顶级查询

vybvopom  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(380)

对于以下预期的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子句”中的未知列“f.pat\u id”,
显然是因为仅在1级以上引用外部表参数的限制。
我想应用where子句,因为否则union select需要很长时间。
有人能给我一个解决办法的提示吗?

z9smfwbn

z9smfwbn1#

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

还是我遗漏了什么?

相关问题