ERROR 1064在VIEW代码中

时间:2015-10-14 22:20:12

标签: mysql view

所以我一直试图弄清楚这一点。我一直收到“ERROR 1064(42000):您的SQL语法有错误;请查看与您的MYSQL服务器版本对应的手册,以便在Details附近使用正确的语法ON Order.OrderID = {{1} } .OrderID LEFT JOIN产品O`在第8行“ 我找到错误的所有尝试都让我无能为力。我一直在重读我的书,看看我是否遗漏了什么,但我找不到任何东西。所以非常感谢任何帮助/解释。

到目前为止,这是我的sql代码。

Order Details

1 个答案:

答案 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;