У меня есть таблица, которая выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/XkV38.png)
Что я хочу сделать, это выбрать MBAPaystring_48months, если оно не равно NULL, в противном случае выберитеMBAPaystring_12months и добавьте определенное число «X» слева от этой строки выплат.Число «Х» будет рассчитываться путем взятия объявленной даты и вычитания количества месяцев с этой даты и даты вставки.
Я не уверен, как добиться этого результата, это то, что я имею до сих пор.
DECLARE @archivedate date = '5/1/2019';
WITH paystring AS(
SELECT DISTINCT Ph.LoanNumber, Ph.MBAPaystring_48months, MBAPaystring_12months, InsertedDate
FROM MARS_DW..ValuationPaymentHistory_Archive PH
INNER JOIN(
SELECT LoanNumber, MAX(InsertedDate) as [Most Recent Inserted Date]
FROM MARS_DW..ValuationPaymentHistory_Archive
GROUP BY LoanNumber
) as id on id.LoanNumber = PH.LoanNumber
)
SELECT
CASE WHEN paystring.MBAPaystring_48months IS NOT NULL THEN paystring.MBAPaystring_48months ELSE paystring.MBAPaystring_12months
END AS [the pay string of strings]
FROM paystring
SELECT MBAPaystring_12months, DATEDIFF(month, InsertedDate, @archivedate) [num]
FROM paystring