Главная страница
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.008 c
2-1361347270
O'ShinW
2013-02-20 12:01
2013.12.01
Один и тот же поток в одну и туже крит.секцию


15-1371155402
Юрий
2013-06-14 00:30
2013.12.01
С днем рождения ! 14 июня 2013 пятница


15-1370889423
TUser
2013-06-10 22:37
2013.12.01
Поехали!


2-1361225309
TStas
2013-02-19 02:08
2013.12.01
КАк завут словарь Ворда?


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