Перетарификация — различия между версиями

Материал из ExpertBilling
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
'''ПРИЕНИМО ТОЛЬКО К 1.4*'''
+
'''ПРИМЕНИМО ТОЛЬКО К 1.4*'''
  
  

Текущая версия на 13:22, 14 мая 2014

ПРИМЕНИМО ТОЛЬКО К 1.4*


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

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