У меня есть две таблицы: Таблица F и Таблица D.
Таблица F содержит подробную информацию о финансовых операциях по счету (платеж, пошлина, проценты).Таблица D показывает состояние просрочки (если пользователь не внес платеж в счет).Он показывает разные коды состояния.0, 1, 2, 11 (что означает разные вещи).
Мои таблицы имеют следующую структуру:
Table F
============
-------------------------------------------
|AccountId|TypeCode |BusinessDate|TransAmt|
-------------------------------------------
|12345 | PYMT |2016-06-22 | 10.54|
-------------------------------------------
|12345 | TOLL |2016-06-15 | 04.00|
-------------------------------------------
|12345 | INTR |2016-05-26 | 01.66|
-------------------------------------------
|12345 | TOLL |2016-04-10 | 04.00|
-------------------------------------------
Table D
==========
-----------------------------------------------
|AccountId|FromID|ToID|CreatedDate |
-----------------------------------------------
|12345 | 0| 2|2016-12-25 00:12:44.453|
-----------------------------------------------
|12345 | 2| 1|2017-04-02 07:16:46.770|
-----------------------------------------------
|12345 | 1| 11|2017-07-12 16:16:36.747|
-----------------------------------------------
Я пытаюсь запустить код, чтобы найти СУММУ всех произведенных платежейв учетной записи ПОСЛЕ того, как учетная запись перешла в код состояния 11 (ToID)
Мой код:
SELECT F.AccounttID
,ISNULL(SUM(TransAmt), 0) Payments
FROM F INNER JOIN D ON F.AccounttID = D.AccountId
WHERE AccountId = 12345
AND TypeCode = 'PYMT'
AND F.BusinessDate >= D.CreatedDate
AND ToID = 11
--AND F.BusinessDate >= (SELECT CreatedDate FROM D WHERE F.AccounttID = D.AccountId AND ToID = 11)
GROUP BY F.AccountID, F.TypeCode
Результаты, которые я получаю:
--------------------
|AccountID|Payments|
--------------------
| | |
--------------------
РезультатыЯ хотел бы, чтобы:
--------------------
|AccountID|Payments|
--------------------
| 12345| 0.00|
--------------------