|
|
|
Необходимо значение ноль
|
|||
|---|---|---|---|
|
#18+
Пробовал сумму общую выводить и подставлять последний месяц, так нет начальнику нужно указывать все месяца в которых значения были положительные и отрицательные. Только вместо положительных значения остаются, а вместо отрицательных должны стоять нули, а к положительным все отрицательные должно суммироваться. Вот так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 13:01:46 |
|
||
|
Необходимо значение ноль
|
|||
|---|---|---|---|
|
#18+
Тогда так. Объявляем временную таблицу, туда записываем следующие данные: договор (my_d), сумма(my_s), месяц(my_m), год(my_y), заказчик(my_z). (сортируем по договору, сумме) объявляем текущий договор @cur_d=0 объявляем текущую сумму @cur_sum=0 объявляем @tmp_cur_d @tmp_cur_sum Делаем следующий апдейт над таблицей. update @my_tmp_table set @tmp_cur_d=@cur_d, @tmp_cur_sum=@cur_sum @cur_d=my_d, @cur_sum=func1(@tmp_cur_d,@cur_d,@tmp_cur_sum,my_s), my_s=func2(@tmp_cur_d,@cur_d,@tmp_cur_sum,my_s) где func1: set @rslt=0 if(@tmp_cur_d=@cur_d) if(my_s>=0) set @rslt=my_s+@tmp_cur_sum if(@rslt>=0)then set @rslt=0 else set @rslt=@tmp_cur_sum+my_s end else if(my_s<0) set @rslt=my_s end func2: set @rslt=0 if(@tmp_cur_d=@cur_d) if(my_s>0) set @rslt=my_s+@tmp_cur_sum if(@rslt<0) set @rslt=0 else if(my_s>0) set @rslt=my_s end ЗЫ: Ессно надо еще подогнать синтаксис. ЗЫЫ: Отрицательное значение вылезет, если сумма минусов - больше суммы плюсов. Суммы поглащаются в отсортированном порядке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 14:09:59 |
|
||
|
Необходимо значение ноль
|
|||
|---|---|---|---|
|
#18+
А что ты будешь делать если в сентябре сумма 100руб, а в октябре -200руб.... приплюсуешь к августу -100, а сентябрь и октябрь 0 ?... а если договор начлся с сентября? и приплюсоваться некуда... Дуб твой шеф, доведет тебя до кондрашки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 15:36:08 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32057136&tid=1819703]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 346ms |

| 0 / 0 |
