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

Откуда:
Сообщений: 111
Есть табличка, в которой хранятся данные о человеке, о сумме договора и о том какой процент он оплатил (высчитывается по формуле)

NAME SUMMA TAXA
A 271.5
B 126.7
C 63.35
D 362


TAXA вычисляется следующим образом:

Есть, например, 1000 рублей(пусть это будет Х)

1. Ищем 3,5% от этой суммы: 1000 * 3,5% = 35 (рублей)
2. Ищем 6% от первоначальной суммы: 1000 * 6% = 60 (рублей)
3. Применяем формулу (1000 – 35 – 60) *Z =Y

Z применяет 2 значения: если (1000 – 35 – 60) < 2000 , то Z = 0,07
если (1000 – 35 – 60) >= 2000 , то Z = 0.1


Следовательно в нашем случае Z =0,07 следовательно Y = (1000 – 35 – 60) * 0,07 = 63,35 (рублей)



А теперь сам вопрос: Как найти X(поле SUMMA), зная изначально Y(поле TAXA) (вся загвоздка в непостоянном значении Z )
25 окт 12, 10:23    [13372567]     Ответить | Цитировать Сообщить модератору
 Re: решить задачу обратную данной  [new]
qwerty112
Guest
MaxiMaxiM,

case when TAXA / 0.1 >= 2000
	then (TAXA / 0.1) / 0.905
	else (TAXA / 0.07) / 0.905
end as SUMMA 

NAME TAXA                  SUMMA
---- --------------------- ---------------------------------------
A    271,50                3000.00000000000
B    126,70                2000.00000000000
C    63,35                 1000.00000000000
D    362,00                4000.00000000000
25 окт 12, 10:33    [13372636]     Ответить | Цитировать Сообщить модератору
 Re: решить задачу обратную данной  [new]
MaxiMaxiM
Member

Откуда:
Сообщений: 111
qwerty112,
спасибо
25 окт 12, 10:40    [13372674]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить