Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 По короче бы запрос бы.  [new]
SanchoPonchos
Member

Откуда:
Сообщений: 23
Вообщем в моем запросе есть две похожие конструкции: sum(order_total) over (partition by employee_id) - считает сумму заказов, сделанные покупателем. Из-за этого запрос выглядит загроможденным, возможно использовать алиас ..или что-то подобное)



select distinct  employee_id, first_name,last_name,
ceil(sum(order_total) over (partition by employee_id,first_name,last_name)) as total_orders ,
ceil ((((sum(order_total) over (partition by employee_id)))/(sum(order_total) over()))*100 ) as total
from employees  emp inner join orders ord on emp.employee_id=ord.sales_rep_id
order by employee_id
22 авг 14, 20:11    [16481996]     Ответить | Цитировать Сообщить модератору
 Re: По короче бы запрос бы.  [new]
кит северных морей
Member

Откуда: krsk / nyc / krsk
Сообщений: 882
SanchoPonchos,

как-то так
select 
  employee_id
, first_name
,last_name
,sum(order_total)
,ratio_to_report(sum(order_total)) over () * 100
from
  employees emp
inner join orders ord on emp.employee_id=ord.sales_rep_id
group by employee_id, first_name, last_name
order by
  employee_id;
22 авг 14, 21:34    [16482180]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить