mysql - 搜索 mysql 限制以引用超过 2 个级别的顶级查询的解决方法
问题描述
对于以下预期的 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_id”,
显然是因为限制只能引用超过 1 级的外部表参数。
我想应用'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
还是我错过了什么?
推荐阅读
- html - 如何禁用 Internet Explorer 的 CSS“转换:翻译”功能?
- c# - 在另一个 Razor 视图中嵌入一个 Razor 视图(同一个项目)
- python - 当文本包含大量数字、产品维度时如何应用 NLP
- google-api - 为什么 OnDataPointListener 不再被调用?
- javascript - 在gameStart球场开放功能上,看起来很整洁,但在手机上不会调整
- google-cloud-platform - 在两个项目之间设置服务帐号
- python - 如何使用继承,我错过了什么?
- angular - 由ng build引起的错误代码-1073741819是什么意思?
- java - 如何在 Kotlin 中更改 JSON 值
- android - 如何解决 ERROR_USER_NOT_FOUND