mysql - 错误代码:1054:“on 子句”中的未知列“Orders.Customer_ID”
问题描述
即使没有显示任何语法错误,我也会不断收到此错误。
我制作了两个表,即“客户”和“订单”,当我尝试使用下面在 mySQL Workbench 中给出的 FULL JOIN 时。
SELECT DATE,NAME,Order_Price,Delivery_Address
FROM Orders
FULL JOIN Customers
ON Orders.Customer_ID = Customers.Customer_ID;
请查看我的两个表的链接截图:-
客户表
订单表
它显示错误 1054。
解决方案
FULL [OUTER] JOIN 在 MySQL 中不是一个东西,因此您的查询被误解如下:
SELECT date
, name
, order_price
, delivery_address
FROM orders full
JOIN customers
ON orders.Customer_ID = Customers.Customer_ID;
...其中 full 是订单的别名。如果将最后一行更改为...
ON full.Customer_ID = Customers.Customer_ID;
......它会工作; 它只是不会返回您想要的结果。但是 MySQL 中 FULL OUTER JOIN 的替代方案在其他地方被广泛讨论,所以我将把它留在那里。
推荐阅读
- database - 在我的情况下是否需要使用数据库?
- google-bigquery - Google Big Query - 公共数据集“Cymbal:Google Cloud 的演示品牌”不可用
- jenkins - 从 Jenkins 的管道仪表板中删除构建行
- laravel - 需要在 vue.js 前端和 Laravel 后端打印名称而不是 id
- c# - Automapper 使用未为映射属性配置的 get 方法
- sql-server - 从表生成 XML
- numpy - 使用 numpy 计算二维封闭多边形的面积
- python - Tkinter 不会在后面运行循环
- android - React Native 向 JSI TruboModule 注册一个回调,以便稍后回调来自 android java 代码的事件
- objectbox - 某些计算机在使用 objectbox 时报告缺少某些 DLL 错误。动态链接库