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/