mysql - 错误代码:1054 'on 子句'中的未知列
问题描述
我正在尝试运行此查询:
SELECT name
FROM customers Left Join(
SELECT customerID as quantity
FROM ORDERS NATURAL JOIN ORDERCONTENTS
GROUP BY customerID)AS quantity
ON customers.customerID=quantity.customerID
ORDER BY name;
每次我运行它我都会收到这个错误:
SELECT* FROM customers LEFT JOIN( SELECT customer AS quantity FROM ORDERS
NATURAL JOIN ORDERCONTENTS GROUP BY customerl...
Error Code: 1054. Unknown column 'quantity.customerID' in 'on clause'
我尝试了不同的连接和列,但它继续返回相同的错误。任何帮助表示赞赏,谢谢。
编辑:为了澄清这是一个家庭作业问题,测试函数等的使用以及子查询。目标是:
检索每个客户的姓名以及他们订购了多少比萨(如果没有订购比萨,则为 NULL)。
这个可怕的模板中提供了问题本身,我只能控制:
1) 选择了什么
2)第一个FROM(客户LEFT JOIN)
3) GROUP BY 的输入。
不幸的是,我无法编辑以下任何内容:
FROM ORDERS NATURAL JOIN ORDERCONTENTS
as quantity
ON customers.customerID=quantity.customerID
ORDER BY name;
对最初缺乏信息表示歉意
解决方案
查看您的代码,您将订单表中的 customerID 列命名为数量
因此,您只需要将 ON 子句更改为
ON customers.customerID=quantity.quantity
我还建议将列名更改为数量以外的名称以避免歧义,因为您将 2 个事物命名为“数量”。