Я пытаюсь показать платежи, применяемые к векселям, и я хотел бы знать, есть ли способ сделать это без использования курсоров и императивной логики. У меня есть таблица счетов и таблица платежей. Платежи не всегда в сумме счетов, иногда превышающих, иногда под. Я пытаюсь создать какое-то соединение, которое показывает, сколько каждого платежа было применено к каждому счету.Установленный подход к применению платежей к векселям
Предположения:
- Bills принадлежат к одному счету
- Платежи применяются к каждому законопроекту в порядке его ID
Учитывая Bills стол:
ID Amount
1 500
2 500
3 500
Сценарий 1:
Платежи таблица
ID Amount
1 750
2 750
с вышеприведенной таблицей Bills, и таблица сценария 1 платежей, я хотел бы видеть этот вывод:
Bill ID | Payment ID | Amount Applied
1 1 500
2 2 250
3 2 500
3 2 250
Сценарий 2:
Payments table:
1 300
2 300
3 300
4 300
5 300
Учитывая выше Таблица счетов и сценарий 2 Таблица выплат, я хотел бы видеть результат:
Bill ID | Payment ID | Amount Applied
1 1 300
1 2 200
2 2 100
2 3 300
2 4 100
3 4 200
3 5 300
Я могу сделать это с помощью курсоров, но я хотел бы узнать, знает ли кто, как это сделать с помощью SQL-кода.
Спасибо!
я мог думать только о том, возможно, с использованием рекурсивного ОТВ, но до сих пор не выяснили, как именно применять его –
Есть ли таблица не соотносить платеж в счет? – TTeeple
Можете ли вы изменить свои таблицы? Обычно у вас будет отношение к таблице платежей к таблице счетов, многие к одному. Для представления ваших данных требуется всего 2 таблицы - нормализованная нормализация. – Christopher