Главная страница
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
15-1370929338
[ВладОшин]
2013-06-11 09:42
2013.12.01
Конкретный вопрос про Антивирус Касперского 2012 vs 2013


6-1270124169
syserg
2010-04-01 16:16
2013.12.01
IdHTTP и TMemoryStream и String


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


4-1238947064
MultIfleX
2009-04-05 19:57
2013.12.01
Имена сеанса и клиента текущщей сессии пользователя


15-1371048100
Novice
2013-06-12 18:41
2013.12.01
Быстрый импорт таблицы Excel