• Как получить количество просроченных займов?

    @mr_Try Автор вопроса
    Akina, сижу с самого утра, но так и не родил толкового решения. Если у вас будет время вечером на помощь с решением, то будет очень здорово
  • Как получить количество просроченных займов?

    @mr_Try Автор вопроса
    Akina,
    1) PostgreSQL 13
    2)
    insert into customers values(1, 73, '2021-05-18');
    insert into regions values(73, '4+');
    insert into applications values(101, '2021-05-18', 1, '2021-05-28', 4000);
    insert into payments values(101, '2021-05-28', 4000);
    
    insert into customers values(2, 73, '2021-06-10');
    insert into regions values(73, '4+');
    insert into applications values(102, '2021-07-10', 2, '2021-08-01', 12000);
    insert into applications values(1021, '2021-07-12', 2, '2021-08-03', 12000);
    insert into payments values(102, '2021-07-17', 4000);
    insert into payments values(102, '2021-07-25', 4000);
    insert into payments values(102, '2021-07-29', 4000);
    
    insert into customers values(3, 73, '2021-07-11');
    insert into regions values(73, '4+');
    insert into applications values(103, '2021-07-11', 3, '2021-08-03', 7000);
    insert into applications values(1031, '2021-07-11', 3, '2021-08-07', 12000);
    insert into payments values(103, '2021-07-29', 4000);
    insert into payments values(1031, '2021-07-31', 4000);
    
    insert into customers values(4, 63, '2021-07-11');
    insert into regions values(63, '4+');
    insert into applications values(104, '2021-07-11', 4, '2021-08-11', 5000);


    3) Примерно так
    624df1b843e0f314012276.png

    4) Вообще это просто упражнение с кривоватым условием специально на подумать, как ты сам разберёшься в схеме данных.

    Как это понимаю я: в таблице customers хранятся данные о заёмщиках (id, код его региона и дата регистрации в системе); в таблице regions хранится код региона и часовой пояс; в таблице applications хранятся данные о номере займа, дате его получения, id заёмщика, предполагаемая дата уплаты займа (по условному договору о займе) и размер займа; в таблице payments хранятся данные о транзакциях заёмщика по уплате его долга (номер займа, дата взноса для уплаты займа и размер этого взноса).

    Просроченный займ– это тот займ, на который не были переведены средства в полном объёме, т.е. если занял 12000, а сделал 2 перевода по 5000 и в БД нет данных о других переводах на этот займ, то его можно считать просроченным.

    Ну и собственно надо получить выше указанную таблицу за период с 1.07.2021 по 15.07.2021, я не понимаю как уместить условие о просрочке в запросе
  • Как получить количество просроченных займов?

    @mr_Try Автор вопроса
    rPman, можете на пальцах объяснить? У меня джуновский уровень sql, многого не знаю ещё
  • Как получить количество просроченных займов?

    @mr_Try Автор вопроса
    На самом деле, это просто упражнение, но задание не очень четко сформулировано, согласен, у меня даже данных для её решения нет, сам некоторые строки для проверки добавлял в онлайн-бд.
    Я подумал, что applications.back_date – это предполагаемая дата погашения займа, т.е. если после неё остаётся некоторая непогашенная сумма, то она считается долгом, поэтому здесь ещё есть таблица payments. Скорее всего величина долга считается как
    (applications.credit_sum - payments.payment * count(payments.payment))

    и если это выражение больше 0, то это можно считать задолженностью, а количество посчитается с помощью count(). Но как раз в этом у меня и затуп, т.к. я не знаю как это выражение запихнуть в запрос.

    Но запрос по вашей наводке тоже напишу, может я просто усложняю всё. Спасибо!
  • Как записать все "правильные" данные и исключения в логи в Python 3?

    @mr_Try Автор вопроса
    MinTnt, это просто упражнение на исключение (в том числе и на порождение исключений), здесь бесполезно искать какой-то смысл)