Inner join 为什么在加号处出现内部联接错误?
这与我在主题“MySQL内部连接”的回答中看到的错误非常相似,但并不完全相同。问题是WHERE语句出错,如下所示:“错误2.5不能准备语句(1没有这样的列:Orders.OrdersID)”。我的内部连接语句是否错误/太俗气了?。我检查了每个表,以确保字段名正确无误。名为ORDERS的表具有以下字段:OrderID CustomerID EmployeeID OrderDate ShipperID--名为OrderDetails的表具有以下字段:OrderDetailID OrderID ProductID Quantity | | | | |是否有人对此错误有想法或解决方案?。(它快把我逼疯了!!!)。代码如下:Inner join 为什么在加号处出现内部联接错误?,inner-join,where-clause,create-view,Inner Join,Where Clause,Create View,这与我在主题“MySQL内部连接”的回答中看到的错误非常相似,但并不完全相同。问题是WHERE语句出错,如下所示:“错误2.5不能准备语句(1没有这样的列:Orders.OrdersID)”。我的内部连接语句是否错误/太俗气了?。我检查了每个表,以确保字段名正确无误。名为ORDERS的表具有以下字段:OrderID CustomerID EmployeeID OrderDate ShipperID--名为OrderDetails的表具有以下字段:OrderDetailID OrderID Pro
CREATE VIEW OrderView AS
SELECT Employees.EmployeeID AS 'Employee_EMPLOYEE_ID',
Orders.OrderID AS 'Orders_ORDER_ID',
Orders.EmployeeID AS 'Orders_EMPLOYEE_ID',
OrderDetails.OrderID AS 'OrderDetails_ORDER_ID',
OrderDetails.Quantity AS 'OrderDetails_QTY'
FROM
Employees
INNER JOIN Orders ON OrderDetails.OrderID = Orders.OrderID
INNER JOIN OrderDetails On OrderDetails.OrderID = Orders.OrderID
WHERE OrderDetails.OrderID = Orders.OrdersID
AND OrderDetails.Quatity > 30
ORDER BY Employees.EmployeeID;
我通过使用不同的表纠正了失败的语句集,将所有语句以缩进的方式放置,在w3schools下运行,它运行良好,如下所示:
CREATE VIEW OrderView AS
SELECT Orders.OrderID,
Orders.CustomerID,
Customers.CustomerID AS C_CUSTOMERID,
Orders.CustomerID AS O_CUSTOMERID,
Orders.ShipperID as O_SHIPPERID,
Shippers.ShipperID as S_SHIPPERID,
Customers.Country,
Customers.CustomerName,
Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID)
WHERE Customers.Country='Mexico' or Customers.Country='Germany' or
Customers.Country='Spain'
GROUP BY Customers.CustomerID
HAVING Customers.CustomerID > 39
ORDER BY Customers.Country ASC;
我通过更改要使用的表、要使用的字段对该语句进行了更正,并在w3schools下运行了该语句,该语句运行良好,如下所示: