我希望你可以帮我解决这个棘手的问题。我正在使用W3Schools SQL教程,在这样做的过程中,我正在创造一个真实的世界'查询尝试获得一些经验。使用他们的数据库,我试图找出谁使用以下内容订购了什么:
SELECT c.CustomerName, p.ProductName
FROM Customers c inner join Orders o on c.CustomerID = o.CustomerID
JOIN OrderDetails od on od.OrderID = o.OrderID
JOIN Products p on p.ProductID = od.ProductID;
这会不断返回错误:
查询表达式中的语法错误(缺少运算符)&c; c.comeomerid = o.customerid在od.orderid = o.orderid上加入orderdetails od在p.productid = od.productid'上加入产品p。 / p>
经过大量的调整,并让更有经验的同事看看我的查询,我们无法找到我所写的内容有什么不妥。
请你能给我一些帮助/指导。
答案 0 :(得分:1)
此查询没有错误且没有给出任何错误我在w3school http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all上破坏了这个查询
打开此链接并粘贴查询。
SELECT c.CustomerName, p.ProductName
FROM Customers c inner join Orders o on c.CustomerID = o.CustomerID
JOIN OrderDetails od on od.OrderID = o.OrderID
JOIN Products p on p.ProductID = od.ProductID;
答案 1 :(得分:0)
在此处参考其文档-https://www.w3schools.com/sql/sql_join_inner.asp
部分-“加入三张桌子”
如果我像下面那样重新编写您的代码,那么它在W3School的try it编辑器中可以正常工作。
SELECT c.CustomerName, p.ProductName
FROM ( ( ( Customers c inner join Orders o on c.CustomerID = o.CustomerID )
inner JOIN OrderDetails od on od.OrderID = o.OrderID )
inner JOIN Products p on p.ProductID = od.ProductID );