Этот вопрос является продолжением моего предыдущего поста.
Необходимость группировки записей на основе сопоставления в sql
Я буду более понятен с одним комплексом пример из моей таблицы транзакций.
Row_Number LOAN_ID TXN_ENTRY_API_NAME TXN_AMT
1 100 ReverseSpreadPayment 2250
2 100 SpreadPayment -2250
3 100 ReverseSpreadPayment 2250
4 100 SpreadPayment -2250
5 100 ReverseSpreadPayment 2250
6 100 SpreadPayment -2250
7 100 ReverseSpreadPayment 2250
8 100 ReverseSpreadPayment 2250
9 100 SpreadPayment 1000
В приведенном выше примере
число 1 и 2 совпадает с записями, bcoz-платеж имеет связанный обратный платеж, следовательно, суммируйте эти два. rownumber 3 и 4 совпадают записи bcoz платеж имеет связанный обратный платеж, следовательно, сумма этих двух. rownumber 5 и 6 - совпадающие записи. bcoz-платеж связан с обратным платежом, следовательно, суммируйте эти два. У rownumber 7 нет соответствующей совпадающей суммы платежа, следовательно, он является пустым. Оставь как есть. rownumber 8 не имеет соответствующей совпадающей суммы платежа, следовательно, является пустым. Оставь как есть. rownumber 9 не имеет соответствующей совпадающей суммы обратного платежа, следовательно, является пустым. Оставьте все как есть.
Чтобы лучше вас понять, я просто добавил сюда столбец row_number, где, как и в моей таблице транзакций, у нас нет столбца row_number.
Мой ожидаемый результат должен быть таким, как в таблице ниже .
LOAN_ID TXN_ENTRY_API_NAME TXN_AMT
100 ReverseSpreadPayment,SpreadPayment 0
100 ReverseSpreadPayment,SpreadPayment 0
100 ReverseSpreadPayment,SpreadPayment 0
100 ReverseSpreadPayment 2250
100 ReverseSpreadPayment 2250
100 SpreadPayment 1000
То, что я ожидаю, чтобы сгенерировать функцию номера строки, как показано ниже, чтобы я мог сгруппировать, используя столбец номера строки.
Номер строки - это столбец порядка, сгенерированный мной. Вот и все.