如何在 sql 查询中列出订单?

How to list orders in sql query?

我正在尝试使用 northwind 数据库获取我的订单列表(员工姓名、订单日期、客户):

northwind database diagram

你能看出我的查询有什么问题吗?

select 
    e.FirstName as Name, e.LastName as Lastname, 
    o.OrderDate as Date, s.CompanyName as Customer
from 
    Emplyees e 
join 
    Orders o on e.EmployeeID = o.EmployeeID

会不会是打错了?..."Emplyees"?

如果您的加入不使用它,您从哪里得到 s.CompanyName?删除它并再次测试您的查询。如果它不能解决您的问题,请检查 Emplyee table.

上的拼写错误

您在 from Emplyees 中有错字,Employees 缺少 o。此外,正如@GordonLinoff 评论的那样,s.CompanyName 存在问题,因为您的查询中没有名为 s 的 table 别名。

通过查看您的数据库架构,我假设您正在寻找来自 table CustomersCompanyName 字段,因为您为该列设置了别名 Customer (也可能是 Shippers.CompanyName,但看起来不太可能)。

如果是这样,您想在查询中添加另一个 JOIN 以包含 table Customers(别名为 c):

select 
    e.FirstName, 
    e.LastName,
    o.OrderDate as Date, 
    c.CompanyName as CustomerCompany
from
    Employees e 
    join Orders    o on o.EmployeeID = e.EmployeeID
    join Customers c on c.CustomerID = o.CustomerID

注意:为同名的输出列添加别名是多余的,我删除了它。