У меня есть база данных с устаревшими данными, в которой хранятся транзакции и используется метод «корзины» для определения остатков на счетах. Мне нужен способ просрочить счета для счетов.
Таблица транзакций
TransactionID
TransactionType (CHARGE, RECEIPT)
Сумма
Постдатировать
Чтобы получить текущий баланс:
SELECT SUM(CASE TransactionTypeId WHEN RECEIPT THEN Amount * -1 ELSE Amount END) CurrentBalance
Мне нужен способ определить просрочку 30, 60, 90, 120 и т. Д .:
Текущий счет 30 60 90 120 +
12345 $ 50,00 $ 0,00 $ 25,00 $ 25,00 $ 0,00
Я попытался выполнить отдельные запросы и ограничить количество дат CHARGE более 30,60,90,120, запустить для каждой группы, вычесть другие и т. Д., Но не смог получить ожидаемых результатов.
В таблице не хранится флаг просроченных платежей, все балансы рассчитываются на лету.
Я что-то упустил? Я пробовал поиск в сети, но не уверен, есть ли термин для этого типа SQL-запроса.
База данных - это SQL Server, если это помогает.
ТИА