Mysql 错误代码:“on子句”中的1054未知列
我正在尝试运行此查询:Mysql 错误代码:“on子句”中的1054未知列,mysql,sql,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 customer
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'
我尝试了不同的联接和列,但它仍然返回相同的错误。谢谢你的帮助
编辑:澄清这是一个家庭作业问题,测试函数等的使用以及子查询。目标是:
检索每个客户的姓名以及他们订购了多少比萨饼(如果没有订购比萨饼),则为空
问题本身在这个糟糕的模板中提供,我只能控制:
1选择什么
2首先从客户离开加入
3分组依据的输入
不幸的是,我无法编辑以下任何内容:
FROM ORDERS NATURAL JOIN ORDERCONTENTS
as quantity
ON customers.customerID=quantity.customerID
ORDER BY name;
对于最初缺乏信息表示歉意查看您的代码,您在订单表中将customerID列命名为quantity 所以您只需要将ON子句更改为
ON customers.customerID=quantity.quantity
我还建议将列名改为quantity以外的名称,以避免歧义,因为您将两个东西命名为quantity 您在子查询中将customerid别名为quantity。我不喜欢这里的两件事,自然联接和分组方式,而不进行聚合。您的查询格式非常不正确,并且您没有解释您试图实现的目标。您最好为子查询和其中的列customerid使用不同的别名。