|
Вывести сумму на последнюю дату
|
|||
---|---|---|---|
#18+
Привет, Есть таблица, в которой хранятся суммы и даты по лицевым счетам. То есть по одному лицевому счёту каждый месяц (или несколько раз в месяц) может быть какая-то сумма. Мне нужно получить список уникальных лицевых счетов с указанием последней суммы на последнюю дату. Иными словами, в каком месяце была последняя сумма и какова у неё величина. Написал запрос, который работает неверно. Данным запросом выводятся все уникальные лицевые счета с суммой на 01.02.2019. Лицевые счета, у которых последняя сумма была ранее 01.02.2019 не выводятся. При этом, если вместо like '2000%' ввести какой-то лицевой счёт, то запрос вернёт верный результат, например 20001 | 5 | 01.01.2001 Может кто-нибудь подскажет, в чём ошибка, буду очень признателен select distinct account_number, data, summa from ( select c1.account_number account_number, trunc(c1.pay_date,'month') data, sum(c1.sum) summa from exchange.charge_groups_sd c1 where c1.account_number like '2000%' and pay_date < to_date('01.03.2019','dd.mm.yyyy') having sum(c1.sum) > 0 group by c1.account_number, trunc(c1.pay_date,'month') order by account_number) where summa > 0 and data in ( select max(data) from ( select cc.account_number, trunc(cc.pay_date,'month') data, sum(cc.sum) summa from exchange.charge_groups_sd cc where cc.account_number like '2000%' and cc.account_number = account_number and pay_date < to_date('01.03.2019','dd.mm.yyyy') having sum(cc.sum) > 0 group by cc.account_number, trunc(cc.pay_date,'month') order by cc.account_number) where summa > 0) order by data asc ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 09:17 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1882627]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 277ms |
total: | 412ms |
0 / 0 |