Как перечислить заказы в запросе 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

Примечание: псевдоним выходного столбца с тем же именем является избыточным, я удалил это.

Может ли это быть опечатка?..."Emplyees"?

Откуда вы получаете s.CompanyName, если ваше объединение не использует его? Удалите его и протестируйте ваш запрос еще раз. Если это не решит вашу проблему, проверьте также опечатку в таблице Emplyee.

Другие вопросы по тегам