Поворот данных с использованием MySql на основе месяца в дате - PullRequest
0 голосов
/ 05 мая 2019

Данные в таблице tbl_xyz хранятся таким образом

------------+-----------+-------+-------+---------------+---------------+
customerId  | amount    |   fee | rate  |   installment |   dateIssued  |
------------+-----------+-------+-------+---------------+---------------+
1           |   200000  |   3000|   50  |           4   |   2019-01-01  |
------------+-----------+-------+-------+---------------+---------------+
2           |   206000  |   3000|   30  |           4   |   2019-01-03  |
------------+-----------+-------+-------+---------------+---------------+
3           |   200000  |   3000|   50  |           3   |   2019-01-11  |
------------+-----------+-------+-------+---------------+---------------+
4           |   200000  |   3000|   40  |           4   |   2019-01-12  |
------------+-----------+-------+-------+---------------+---------------+
5           |   340000  |   3000|   20  |           4   |   2019-01-13  |
------------+-----------+-------+-------+---------------+---------------+
6           |   20000   |   3000|   50  |           2   |   2019-01-15  |
------------+-----------+-------+-------+---------------+---------------+
7           |   600000  |   3000|   50  |           4   |   2019-01-15  |
------------+-----------+-------+-------+---------------+---------------+
8           |   250000  |   6000|   70  |           1   |   2019-01-15  |
------------+-----------+-------+-------+---------------+---------------+

Я хочу получить этот вывод

Примечание: этот вывод для всех записей dateIssued имеет любую дату только в январе.

------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
customerId  | amount    |   fee | rate  |   installment |   dateIssued  |   total   |   inst/mo |   JAN |   FEB |   MAR |   APR |
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
1           |   200000  |   3000|   50  |           4   |   2019-01-01  |   300000  |     75500 |  75500|  75500|  75500|  75500|
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
2           |   206000  |   3000|   30  |           4   |   2019-01-03  |   267800  |    66950  | 66950 | 66950 | 66950 | 66950 |
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
3           |   200000  |   3000|   50  |           3   |   2019-01-11  |   300000  |    100000 | 100000| 100000| 100000|      0|
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
4           |   200000  |   3000|   40  |           4   |   2019-01-12  |   ...     |      ...  |   ... |   ... |   ... |   ... |
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
5           |   340000  |   3000|   20  |           4   |   2019-01-13  |   ...     |      ...  |   ... |   ... |   ... |   ... |
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
6           |   20000   |   3000|   50  |           2   |   2019-01-15  |   ...     |      ...  |   ... |   ... |   ... |   ... |
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
7           |   600000  |   3000|   50  |           4   |   2019-01-15  |   ...     |      ...  |   ... |   ... |   ... |   ... |
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+
8           |   250000  |   6000|   70  |           1   |   2019-01-15  |   425000  |    425000 |425000 |      0|      0|      0|
------------+-----------+-------+-------+---------------+---------------+-----------+-----------+-------+-------+-------+-------+

Вот некоторые условия:

Итого = (сумма + (сумма * ставка) / 100)

inst / mo = (сумма + (сумма * ставка) / 100) / рассрочка

Столбцы JAN, FEB, MAR и APR зависят от месяца в дате выпуска.

В приведенном выше примере все записи только за январь. Для февраля это были бы февраль, март, апрель и май. А распределение значений в каждом месяце зависит от рассрочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...