所以我一直试图弄清楚这一点。我一直收到“ERROR 1064(42000):您的SQL语法有错误;请查看与您的MYSQL服务器版本对应的手册,以便在Details
附近使用正确的语法ON Order.OrderID = {{1} } .OrderID LEFT JOIN产品O`在第8行“
我找到错误的所有尝试都让我无能为力。我一直在重读我的书,看看我是否遗漏了什么,但我找不到任何东西。所以非常感谢任何帮助/解释。
到目前为止,这是我的sql代码。
Order Details
答案 0 :(得分:0)
你的反引号不平衡(你可以通过问题中的阴影看到)。首先,我建议您避免命名表和列,使其名称需要转义(即避免使用保留字并仅使用字母数字字符和下划线)。
此外,您的视图名称需要与表名称不同。
使用表别名更容易编写和读取查询:
CREATE VIEW OrdersWithProducts AS
SELECT o.OrderID, o.OrderDate,
od.ProductID, od.UnitPrice, od.Quantity,
(od.Quantity * od.UnitPrice) as Total,
p.ProductName, c.CompanyName
FROM Orders o LEFT JOIN
Employees e
ON e.EmployeeID = o.EmployeeID LEFT JOIN
Customers c
ON c.CustomerID = o.CustomerID LEFT JOIN
`Order Details` od
ON o.OrderID = od.OrderID LEFT JOIN
Products p
ON p.ProductID = od.ProductID;