settlements
- id | int(11) | PRIMARY KEY AUTO_INCREMENT
- user_id | int(11) | FOREIGN KEY
- period | timestamp
- rev | numeric(15,2)
- name | varchar
- status | varchar
- individual_guid | uuid
bank_props
- id | int(11) | PRIMARY KEY AUTO_INCREMENT
- user_id | int(11) | FOREIGN KEY
- is_active | boolean
- bik | varchar
- inn | varchar
- kpp | varchar
- individual_guid | uuid
- created_at | timestamp
users
- id | int(11) | PRIMARY KEY AUTO_INCREMENT
- name | varchar
Таблицы settlements и bank_props связаны с users отношением МНОГИЕ К ОДНОМУ.
1) Ответ должен получиться такого вида. Все лишние поля убрать.
{
"bank_props": [
{
"bik": "string",
"inn": "string",
"kpp": "string",
"individual_guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"settlements": [
{
"period": "2022-08-02T08:25:12.215Z",
"individual_guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
}
2) Пользователей может быть десятки тысяч, запрос ограничен через LIMIT и OFFSET.
3) bank_props - последня запись(desc created_at) с is_active == true.
4) settlements - записи за месяц с определенным статусом(status == 'COMPLETED'). МЕСЯЦ достаем с последней записи(desc period).