Попытка написать запрос в жабе, чтобы рассчитать комиссию за продажу
Сначала спасибо за ваше время и помощь. Я очень новичок в жабе
Я пытаюсь написать запрос, который будет рассчитывать общую комиссию на основе ставки комиссии и общего объема продаж. Я пытаюсь использовать оператор IF, чтобы установить значение 'Rate', и использовать его для кратных на основе имени продавца и общего объема продаж за месяц, которые извлекаются из базы данных. Любая помощь или направление будет очень цениться
Declare
Rate Number
;
Select
SaName,
Sum(AMT)*Rate,
Count(Actno)
From RCVMGR.RCV_ACT_DAILY
Where (SaName = 'Mike' or SaName = 'Dave' or SaName = 'Tony')
and ref1= 'PMT' and (SaDT between add_months (Last_day(sysdate-1),-1)+1
and trunc(sysdate-1))
If SaName = 'Mike' Then
Rate = .15
elseif SaName = 'Dave' Then
Rate = .12
elseif SaName = 'Tony' Then
Rate = .1
End IF
Group by
SaName,
AMT,
ACTNO
1 ответ
Решение
Я думаю, что это то, что вы хотите:
select saname,
sum(amt) * case
when saname = 'Mike' then
.15
when sanme = 'Dave' then
.12
when saname = 'Tony' then
.1
else
0
end as commission,
count(actno)
from rcvmgr.rcv_act_daily
where saname in ('Mike', 'Dave', 'Tony')
and ref1 = 'PMT'
and sadt between add_months(last_day(sysdate - 1), -1) + 1 and
trunc(sysdate - 1)
group by saname
Однако было бы лучше присоединиться к таблице, содержащей ставки комиссионных, если такая таблица существует.