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

Откуда:
Сообщений: 5
Здравствуйте. Мне нужно сделать проект по продажам продавцов по городам. У меня такой момент:
Мне нужно вывести 3 вещи: Количество продавцов с продажами, количество новых продавцов с продажами, и количество продавцов с продажами менее 100 000 в среднем за 3 месяца учитывая их дату регистрации по городам. Если продавец зарегистрирован до 31.03.2015, то считать средний показатель продаж за апрель, май и июнь. Если в апреле, то май и июнь. Если в мае, то только июнь. Если в июне, то ничего. Всё это я уже сделал в excel, но там каждый раз нужно считать самому. В sql мне нужно написать код и менять только месяцы продаж. Я никак не могу прописать момент с средним показателем, как это сделать? Может ли кто-нибудь расписать это в примере с названиями? Буду благодарен за помощь.
13 апр 15, 13:34    [17507911]     Ответить | Цитировать Сообщить модератору
 Re: SQL developer  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7134
Чтобы получить помощь, требуется что - нибудь сделать самому, в противном случае Вы клиент другого форума - "Работа"
То есть:
Сделайте тестовые данные, и запрос который вы пытались написать.
например в виде
with 
town (id, town) as (
select 1,'Moscow' from dual union all
select 2,'Adis-Abeba' from dual union all
...
),
Salesman ( id, name ) as (
select 1,'Чебурашка' from dual union all
select 2,'Чип и Дейл' from dual union all
...
)
select ... from town, salesman 
where
13 апр 15, 14:15    [17508147]     Ответить | Цитировать Сообщить модератору
 Re: SQL developer  [new]
Изя Кацман
Member

Откуда: Великий Эксперимент
Сообщений: 2019
Студентам, желающим помощи
13 апр 15, 14:31    [17508259]     Ответить | Цитировать Сообщить модератору
 Re: SQL developer  [new]
RobertLowis
Member

Откуда:
Сообщений: 5
Vadim Lejnin, Прошу прощения. Вот что я сам написал:
select ap.REGOIN_OFFICE,
ap.CHANNEL,
dsroom.DATE_REG,
ap.NAME_SALESROOM,
ap.CODE_SALESROOM,
Sum(Case
When To_Char(cc.SKP_CREDIT_STATUS) Not In
('7', '8', '13')
Then cc.AMT_CREDIT
Else
Null
End) ОДОБРЕН_КД_СУММА,
Count(Case When To_Char(cc.SKP_CREDIT_STATUS) Not In
('7', '8', '13') Then
cc.SKP_CREDIT_CASE
Else
Null
End) ОДОБРЕН_КД_КОЛ,
count(distinct cc.SKP_SALESROOM)

from AP_SALES.T_SALES_ROOM ap
left join hckz_krupa.t_sales_room dsroom
on ap.SKP_SALESROOM = dsroom.SKP_SALESROOM
left join OWNER_DWH.F_CREDIT_CASE_AD cc
on ap.SKP_SALESROOM = cc.SKP_SALESROOM
where cc.DATE_PROPOSAL >= trunc(trunc(Current_Date) - 1, 'MONTH')
And Trunc(cc.DATE_RATIF) <> '01-01-3000'
and ap.CHANNEL = 'Stone'

group by ap.REGOIN_OFFICE,
ap.CHANNEL,
dsroom.DATE_REG,
ap.NAME_SALESROOM,
ap.CODE_SALESROOM
;
Тут он показывает по каждому продавцу отдельные показатели, из какого города, его дату регистрации, код, его канал. Теперь я не знаю как расчитать количество продавцов с продажами менее 100 000 в среднем за 3 месяца учитывая их дату регистрации по городам. Если продавец зарегистрирован до 31.03.2015, то считать средний показатель продаж за апрель, май и июнь. Если в апреле, то май и июнь. Если в мае, то только июнь. Если в июне, то ничего. Я сам только начал изучать БД и вот трудности. Буду признателен за помощь.

К сообщению приложен файл (Regionsql - 1Kb) cкачать
13 апр 15, 14:43    [17508327]     Ответить | Цитировать Сообщить модератору
 Re: SQL developer  [new]
RobertLowis
Member

Откуда:
Сообщений: 5
RobertLowis, Мне было бы легче понять если бы кто-нибудь мог бы привести свой пример таблицы и с ними прописать вычисления. Я никак не хочу чтобы кто-то просто помог мне решить задачу, я хочу и сам понять.
13 апр 15, 14:49    [17508362]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить