Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Упрощение запроса. Выбор SUM и COUNT из разных таблиц.  [new]
zodiac.nv
Member

Откуда:
Сообщений: 3
Добрый вечер.
Можно ли как-то упростить этот запрос?
SELECT SALES_TOTAL.s / EMPLOYEES_COUNT.c
FROM (
	SELECT COUNT(employee_id) AS c
	FROM LOCATION l
	JOIN DEPARTMENT d ON d.location_id = l.location_id
	JOIN EMPLOYEE e ON e.department_id = d.department_id
	WHERE l.regional_group = 'NEW YORK'
) EMPLOYEES_COUNT,
(
	SELECT SUM(total) AS s
	FROM SALES_ORDER, CUSTOMER, LOCATION l
	JOIN DEPARTMENT d ON d.location_id = l.location_id
	JOIN EMPLOYEE e ON e.department_id = d.department_id
	WHERE l.regional_group = 'NEW YORK'
		AND SALES_ORDER.customer_id = CUSTOMER.customer_id
		AND CUSTOMER.salesperson_id = e.employee_id
) SALES_TOTAL
30 сен 13, 22:39    [14904064]     Ответить | Цитировать Сообщить модератору
 Re: Упрощение запроса. Выбор SUM и COUNT из разных таблиц.  [new]
?
Guest
	SELECT SUM(total) / COUNT(distinct employee_id) AS z
	FROM SALES_ORDER, CUSTOMER, LOCATION l
	JOIN DEPARTMENT d ON d.location_id = l.location_id
	JOIN EMPLOYEE e ON e.department_id = d.department_id
	WHERE l.regional_group = 'NEW YORK'
		AND SALES_ORDER.customer_id = CUSTOMER.customer_id
		AND CUSTOMER.salesperson_id = e.employee_id
30 сен 13, 22:45    [14904087]     Ответить | Цитировать Сообщить модератору
 Re: Упрощение запроса. Выбор SUM и COUNT из разных таблиц.  [new]
zodiac.nv
Member

Откуда:
Сообщений: 3
?,

Нет, такой вариант не подходит. Т.к. в EMPLOYEES_COUNT 13 элементов, а в SALES_TOTAL их 30. Не обязательно каждому employee_id соответствует запись в SALES_ORDER.
30 сен 13, 22:49    [14904116]     Ответить | Цитировать Сообщить модератору
 Re: Упрощение запроса. Выбор SUM и COUNT из разных таблиц.  [new]
?
Guest
zodiac.nv
?,

Нет, такой вариант не подходит. Т.к. в EMPLOYEES_COUNT 13 элементов, а в SALES_TOTAL их 30. Не обязательно каждому employee_id соответствует запись в SALES_ORDER.

	SELECT SUM(total) / COUNT(distinct employee_id) AS z
	FROM LOCATION l
	JOIN DEPARTMENT d ON d.location_id = l.location_id
	JOIN EMPLOYEE e ON e.department_id = d.department_id
left join CUSTOMER on CUSTOMER.salesperson_id = e.employee_id
left join SALES_ORDER on SALES_ORDER.customer_id = CUSTOMER.customer_id
	WHERE l.regional_group = 'NEW YORK'
30 сен 13, 23:22    [14904227]     Ответить | Цитировать Сообщить модератору
 Re: Упрощение запроса. Выбор SUM и COUNT из разных таблиц.  [new]
zodiac.nv
Member

Откуда:
Сообщений: 3
?,

Спасибо, ответ совпадает. Буду сейчас разбираться.
30 сен 13, 23:33    [14904252]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить