Как выбрать конкретную строку из таблицы SQL и объединить несколько таблиц на сервере SQL? - PullRequest
0 голосов
/ 14 апреля 2019

Я использую базу данных Northwind для изучения SQL-сервера.Я пытаюсь выполнить SQL-запрос таким образом, чтобы я мог выбрать конкретного сотрудника (EmployeeID = 1) из таблицы «Сотрудники» и каждый заказ, связанный с сотрудником из таблицы «Заказы», ​​способ его доставки (отгрузка через), компания, которая его отправила,общее количество дней, прошедших с даты заказа до даты отправки.Для этого у меня есть запрос ниже, я не уверен, что мой запрос правильный.Может ли кто-нибудь подтвердить, пожалуйста?

Я пытался запустить ниже запрос

  SELECT Employees.EmployeeID,
    Orders.OrderID,DATEDIFF(DAY,Orders.OrderDate,Orders.ShippedDate) AS 'Date 
    Diff',
    Orders.ShipVia,Shippers.ShipperID,Shippers.CompanyName FROM  Employees
    LEFT JOIN Orders ON Employees.EmployeeID=Orders.EmployeeID
    LEFT JOIN Shippers ON Orders.ShipVia=Shippers.ShipperID
    WHERE Employees.EmployeeID =1
    GROUP BY 

 Orders.ShipVia,Shippers.ShipperID,Shippers.CompanyName,Employees.EmployeeID,Orders.OrderID,Orders.OrderDate,Orders.ShippedDate

1 Ответ

1 голос
/ 14 апреля 2019

Вот несколько правил для использования предложения GROUP BY-

1) Предложение оператора SELECT, которое делит результат запроса на группы строк, как правило, с целью выполнения одной или нескольких агрегаций в каждой группе.Оператор SELECT возвращает по одной строке на группу.

2) Указывает столбец или неагрегированное вычисление для столбца.Этот столбец может принадлежать таблице, производной таблице или представлению.Столбец должен появиться в предложении FROM оператора SELECT, но не обязательно должен отображаться в списке SELECT.

3) Столбец должен появиться в предложении FROM оператора SELECT, но не требуется дляпоявиться в списке SELECT.Однако каждый столбец таблицы или представления в любом неагрегированном выражении в списке должен быть включен в список GROUP BY

. Это некоторые важные моменты из документации, относящиеся к SQL Server

. Надеется, что это решит вашу проблемуили очистите вашу концепцию.

Дополнительная информация по адресу - https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-2017

...