为什么我无法在以下数据库中执行此查询:W3 School Database (表格列在右侧)?
SELECT Customers.CustomerName,
OrderDetails.ProductID
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
INNER JOIN OrderDetails
ON Orders.OrderID = OrderDetails.OrderID
我正在尝试查看客户订购的产品ID。上面的查询应该使客户与订单匹配,然后获取这些订单ID并找到正确的OrderDetails以输出具有CustomerName和ProductID的表。
我收到以下错误:
查询表达式中的语法错误(缺少运算符)'Customers.CustomerID = Orders.CustomerID INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID。
提前致谢。
答案 0 :(得分:1)
这是Access数据库吗?如果是这样,当有多个JOIN时需要括号:
SELECT Customers.CustomerName,
OrderDetails.ProductID
FROM (Customers
INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID)
INNER JOIN OrderDetails
ON Orders.OrderID = OrderDetails.OrderID
答案 1 :(得分:0)
它适用于Chrome,但在Firefox中失败。
原因是w3c页面在浏览器的WebSQL引擎中运行SQL查询,以免过载服务器。对于不支持WebSQL的浏览器,它会转向使用远程访问数据库上运行查询的ASP WS。
这就是为什么在Firefox中每个加入需要括号的làAccess,但是在Chrome或任何其他支持webql的浏览器中你不需要它们。