Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.12.01;
Скачать: CL | DM;

Вниз

Переписать расчеты с клиента на сервер   Найти похожие ветки 

 
[ВладОшин] ©   (2013-06-11 12:23) [0]

User_1 воспользовался услугами 1 и 2 на сумму 100 и 50 рублей соответственно
User_2 воспользовался услугами 1 на сумму 100 рублей

-- drop table OW_TMP_TMP_charge
create table OW_TMP_TMP_charge as
select * from (
             select 100 SUMM, 1 SVC, 1 U_ID from dual union all
             select 50 SUMM, 2 SVC, 1 U_ID from dual union all
             select 100 SUMM, 1 SVC, 2 U_ID from dual )
-- select * from OW_TMP_TMP_charge


User_1 заплатил 120 рублей
User_2 заплатил 90  
-- drop table OW_TMP_TMP_pay
create table OW_TMP_TMP_pay as
select * from (
             select 120 SUMM, 1 U_ID from dual union all
             select 90 SUMM,  2 U_ID from dual )
-- select * from OW_TMP_TMP_pay


User_1 должен: всего 150 рублей
из них доля долга по первой услуге 2/3 и по второй 1/3
Заплатил он 120.
Значит, 80 он заплатил за первую услугу и 40 за вторую
т.е. он должен теперь 20 за первую и 10 за вторую.

User_2 должен 10 рублей за услугу 1, он больше не воспользовался никакой, 100 - 90 = 10.

Не соображу как запросом получить долги по услугам.
Подскажете?


 
[ВладОшин] ©   (2013-06-11 12:32) [1]

упс.. не сюда


 
[ВладОшин] ©   (2013-06-11 12:54) [2]

да, сам решил - но вообще не нравится :)

select BB.*, C3.SUMM - BB.EQ from (
select B.*, P.SUMM * B.PERCEN EQ
 from (select A.ALL_SUM, C.SUMM / A.ALL_SUM PERCEN, C.U_ID, C.SVC
         from OW_TMP_TMP_charge C
         join (select sum(C.Summ) ALL_SUM, C.U_ID
                from OW_TMP_TMP_charge C
               group by C.U_ID
               ) A on A.U_ID = C.U_ID
        ) B
          join OW_TMP_TMP_PAY P on P.U_ID = B.U_ID
) BB
 join OW_TMP_TMP_charge C3 on C3.SVC = BB.SVC and C3.U_ID = BB.U_ID



Страницы: 1 вся ветка

Текущий архив: 2013.12.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
1-1319355370
Человек
2011-10-23 11:36
2013.12.01
Подавление всех Exception кроме определенного


15-1371056583
ПЛОВ
2013-06-12 21:03
2013.12.01
Как придумываются прогнозы погоды?


2-1361265627
kelpie1988
2013-02-19 13:20
2013.12.01
Как создать dll c вложенными функциями?


1-1318903108
Acid_Burn
2011-10-18 05:58
2013.12.01
Связать memo с текстом между тегами(html)


15-1371109866
картман
2013-06-13 11:51
2013.12.01
адвокаты, нотариусы и подобные