Как перечислить заказы в запросе sql?
Я пытаюсь получить список моих заказов (имя сотрудника, дата заказа, клиент), используя базу данных Northwind:
диаграмма базы данных северного ветра
Вы видите, что не так с моим запросом?
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
3 ответа
У вас есть опечатка в from Emplyees
где сотрудники отсутствует o
, Кроме того, как прокомментировал @GordonLinoff, существует проблема с s.CompanyName
, так как нет псевдонима таблицы с именем s
в вашем запросе.
Глядя на вашу схему базы данных, я предполагаю, что вы ищете CompanyName
поле, которое приходит из таблицы Customers
, как вы определили этот столбец Customer
(может быть Shippers.CompanyName
, но выглядит менее вероятно).
Если это так, вы хотите добавить еще JOIN
в вашем запросе включить таблицу 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
Примечание: псевдоним выходного столбца с тем же именем является избыточным, я удалил это.
Откуда вы получаете s.CompanyName, если ваше объединение не использует его? Удалите его и протестируйте ваш запрос еще раз. Если это не решит вашу проблему, проверьте также опечатку в таблице Emplyee.