如何在 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 Customers
的 CompanyName
字段,因为您为该列设置了别名 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
注意:为同名的输出列添加别名是多余的,我删除了它。
我正在尝试使用 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 Customers
的 CompanyName
字段,因为您为该列设置了别名 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
注意:为同名的输出列添加别名是多余的,我删除了它。