|
|
|
Тарифная сетка. Как лучше реализовать? :о(
|
|||
|---|---|---|---|
|
#18+
Может у кого есть интересные варианты реализации или идеи... Не охота изобретать велосипед. Задача. Есть базовое число (напр. 100), на снове которого необходимо вычислять тарифы по 9 разрядам и 7 сеткам. При этом для каждого разряда установлен % от базового числа и для каждой сетки - коэфициент. То бишь: 1-й разряд = 70% от базового числа 2-й = 80% 3-й = 100% 4-й = 115% ... 9-й = 155% Для 1-й сетки установлен коэффициент = 1 2-й = 1,1 3-й = 1,25 ... 7-й = 1,356 Т.о. получаем для 2-го разрряда по сетке 3 значение = 100*80%*1,25=100 для 1-го разряда по сетке 7 = 100*70%*1,356 = 94,92 и т.д. Внимание вопрос! - Как лучше хранить базовое число и %-коэффициенты, чтобы отображать итоги вычислений в виде таблиц со значениями: тарифы в день, тарифы в месяц, тарифы в год, - и использовать вычисляемые значения в запросах? В основной таблице хранятся данные о номере разряда и номере сетки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 10:28 |
|
||
|
Тарифная сетка. Как лучше реализовать? :о(
|
|||
|---|---|---|---|
|
#18+
если вопрос в том, чтобы в запросах не писать кучу WHERE и не рисовать кучу объединений с одной и той же таблой, и если все выполняется на клиенте (mdb, mde), загрузи ты эту бодягу в массивы. Напиши ф-ию(и), которая только и делает, что по номерам возвращает элементы массива (а при их отсутствии - например если сдохли глобальные переменные из-за необработанных ошибок - производит перепрочтение таблиц в массивы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 13:28 |
|
||
|
Тарифная сетка. Как лучше реализовать? :о(
|
|||
|---|---|---|---|
|
#18+
загрузи ты эту бодягу в массивы Чтобы загрузить - надо где-то хранить. Вот в этом то и заключается основной вопрос. Как лучше хранить? Например, в 3-х таблах 1. тбБЗ (БазовоеЗначение) 2. тбРазр (№Разряда, %) 3. тбСетка (№Сетки, Коэффициент) Или 2-х 1. тбБЗ (БазовоеЗначение) 2. тбРазрСетка (№, %, Коэффициент) Или еще как-то. А вот в зависимости от способа хранения и будет использоватьчся тот или иной метод отображения и вычисления. Оба варианта для вычисления предполагают использование вложенных запросов, которые не зависят от количества таблиц: Код: plaintext 1. 2. 3. И аналитикам хотелось бы просматривать результаты в виде таблицы, где по строкам разряды (и % им соответствующие), а по столбцам - номер сетки (да с соответствующими коэффициентами). А уж на пересечении - значение тарифа.... и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 14:09 |
|
||
|
Тарифная сетка. Как лучше реализовать? :о(
|
|||
|---|---|---|---|
|
#18+
Мне представляется более естественным и логичным первый вариант: 1. тбБЗ (БазовоеЗначение) 2. тбРазр (№Разряда, %) 3. тбСетка (№Сетки, Коэффициент) Только зачем такой сложный запрос с подзапросами? Достаточно обычных INNER JION для разряда и сетки, ну и подзапрос для [БазовоеЗначение] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 14:21 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32278217&tid=1679175]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 381ms |

| 0 / 0 |
