我有一张贷款分期付款的表格,我想获得贷款的总期限。 每笔贷款的到期日保存在db中,并且基于每月和每周保存。我不会保存任何支票来确定是每月还是每周的贷款性质。 现在,如果两个日期之间的持续时间以周为单位,则应该以27周或2周为单位来表示持续时间,如果以月为单位,则应该以5个月或2年4个月来表示。
LoanID DueDate AmountToBePaid
2 2019-01-01 500
2 2019-01-07 500
2 2019-01-14 500
2 2019-01-21 500
2 2019-01-28 500
我想要的持续时间是5周,但返回的时间是2个月。 还有一个主表,其中可以保存贷款的总分期付款。这是我的查询,希望有人可以提供帮助。
SELECT LoanID,
CASE WHEN NoOfInstallment>12
THEN CAST(NoOfInstallment/12 AS VARCHAR(10))+' Years '
ELSE '' END
+
CASE WHEN NoOfInstallment%12>0
THEN CAST(NoOfInstallment%12 AS VARCHAR(10))+' Months'
ELSE '' END AS [TotalDuration]
FROM LoanMaster
INNER JOIN LoanDetail ON LoanMaster.ID = LoanDetail.LoanID
答案 0 :(得分:0)
您可以尝试这样的事情
SELECT
LoanId,
DATEDIFF(WEEK, inst_start, inst_end) weeks
FROM LoanMaster LM
INNER JOIN (
SELECT
select
dateadd(month, -1,min(due_date)) inst_start,
max(due_date) inst_end
FROM LoanDetail
) LD
ON LM.ID = LD.LoanID