forum.bitel.ru http://forum.bitel.ru/ |
|
Баланс у закрытого договора http://forum.bitel.ru/viewtopic.php?f=22&t=12038 |
Страница 1 из 1 |
Автор: | Dima_M [ 25 окт 2016, 11:23 ] |
Заголовок сообщения: | Баланс у закрытого договора |
Как вывести запросом абонентов, закрывших договор, но не заплативших? Если договор закрыт (date2 IS NOT NULL), то в таблицу contract_balance новые строки не добавляются. Иными словами, как узнать текущий баланс у закрытых договоров? |
Автор: | skn [ 25 окт 2016, 11:37 ] |
Заголовок сообщения: | Re: Баланс у закрытого договора |
А зачем их закрыли, почему бы только статус не поменять на должник? |
Автор: | Ildar [ 25 окт 2016, 11:39 ] |
Заголовок сообщения: | Re: Баланс у закрытого договора |
Код: SELECT summa1 + summa2 - summa3 - summa4 FROM contract_balance WHERE cid=353424 AND ((yy*12) + mm)<=((YEAR(CURDATE())*12) + MONTH(CURDATE())) ORDER BY yy DESC, mm DESC LIMIT 1
|
Автор: | Dima_M [ 25 окт 2016, 11:43 ] |
Заголовок сообщения: | Re: Баланс у закрытого договора |
Абонент расторг договор, но он был кредитовый. Кто-то по честному оплачивает, а кто-то уходит не заплатив. А по сути, мне надо найти строку с наибольшим значением поля 'yy' и наибольшим значением 'mm' из contract_balance |
Автор: | Dima_M [ 25 окт 2016, 15:27 ] |
Заголовок сообщения: | Re: Баланс у закрытого договора |
Может кому пригодится: Код: SELECT cid, MAX(yy) AS yy, MAX((yy*12) + mm)-MAX(yy*12) AS mm FROM contract_balance GROUP BY cid;
CREATE TABLE temp (cid int(10), yy smallint(5), mm tinyint(3)); INSERT INTO temp (cid, yy, mm) SELECT cid, MAX(yy), MAX((yy*12) + mm)-MAX(yy*12) FROM contract_balance GROUP BY cid; SELECT * FROM temp; SELECT cb.cid, cb.mm, cb.yy, summa1 + summa2 - summa3 - summa4 FROM contract_balance AS cb, temp, contract AS c WHERE c.id=cb.cid AND cb.cid=temp.cid AND cb.yy=temp.yy AND cb.mm=temp.mm AND c.date2 IS NOT NULL; |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |