SQL учеба идет быстрыми темпами. Теперь попрактиковался, где мне нужна помощь.
Я хотел бы получить имена сотрудников, количество заказов которых отличается от количества сотрудников в Нью-Йорке.
Таблицы:
ORDERS
, в том числе EMPLOYEE_ID, CITY, ORDER_ID
EMPLOYEES
, в том числе LAST_NAME, FIRST_NAME, EMPLOYEE_ID, CITY
Я застрял в этой ситуации:
SELECT ROW_NUMBER() OVER ( ORDER BY COUNT(T.ORDER_ID) DESC) ROW,
(H.LAST_NAME + ', ' + H.FIRST_NAME) 'Employee name',
COUNT(T.ORDER_ID) 'Sold orders', H.CITY 'City'
FROM ORDERS T JOIN EMPLOYEE H ON T.EMPLOYEE_ID = H.EMPLOYEE_ID
GROUP BY H.EMPLOYEE_ID, H.LAST_NAME, H.FIRST_NAME, H.CITY
С этим я можно получить заказы, которые продали сотрудники. К сожалению, это не показывает сотрудников с 0 заказов.
Как я могу показать также сотрудников с 0 заказами? И как я могу показать сотрудников, у которых количество заказов отличается от количества сотрудников в одном городе? Пример сотрудников, чей заказ отличается от обычного в Нью-Йорке.
Надеюсь, вы понимаете, о чем я. Сложная проблема и небольшой языковой барьер.
Пример данных:
First_name Last_name Sold_orders City
John Doe 2 New York
Jane Doe 5 Los Angeles
Peter Pan 5 Miami
Я хотел бы получить сотрудников, которые не имеют такого же количества заказов, чем сотрудники в Майами.
First_name Last_name Sold_orders City
John Doe 2 New York
Итак, Джейн Доу и Питер Пэн ушли, потому что у них такое же количество заказов, как у сотрудников в Майами (включая сам Майами).