Перетарификация

Материал из ExpertBilling
Версия от 15:51, 2 мая 2012; Admin (обсуждение | вклад) (Новая страница: «Иногда возникает потребность заново пересчитать балансы абонентам. Для этого можно воспо...»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Иногда возникает потребность заново пересчитать балансы абонентам. Для этого можно воспользоваться следующим запросом:

update billservice_account as a set ballance=
COALESCE((SELECT sum((-1)*summ) FROM billservice_transaction WHERE account_id=a.id),0)+
COALESCE((SELECT sum(summ) FROM qiwi_invoice WHERE account_id=a.id and accepted=True),0)-
COALESCE((SELECT sum(summ) FROM billservice_periodicalservicehistory WHERE account_id=a.id),0)-
COALESCE((SELECT sum(summ) FROM billservice_traffictransaction WHERE account_id=a.id),0)-
COALESCE((SELECT sum(summ) FROM billservice_timetransaction WHERE account_id=a.id),0)-
COALESCE((SELECT sum(summ) FROM billservice_addonservicetransaction WHERE account_id=a.id),0);

Попасть в shell postgresql можно так:

# sudo -s
# su postgres
# psql ebs