错误代码:“在子句中”

时间:2018-09-29 10:08:04

标签: mysql sql

我正在尝试运行此查询:

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;

最初缺乏信息的道歉

1 个答案:

答案 0 :(得分:0)

在您的代码中,您将订单表中的customerID列命名为数量

所以您只需要将ON子句更改为

ON customers.customerID=quantity.quantity 

我还建议您将列名更改为数量以外的名称,以避免歧义,因为您将2项命名为“ quantity”。