【发布时间】:2017-05-03 11:57:46
【问题描述】:
我的代码有问题,它似乎不接受我的选择查询中的聚合函数。我想用我的DATEDIFF(MONTH,MIN(LoanDateStart),MAX(LoanPaymentDue)) 实现的是我想获得总月数,然后使用月数来计算其余查询。
我收到了这个错误:
消息 130,级别 15,状态 1,第 11 行 无法对包含聚合或子查询的表达式执行聚合函数。
有没有其他方法可以实现?
查询
SELECT
ISNULL(SUM((CAST(((((lt.InterestRate/100) * lc.LoanAmount) +
lc.LoanAmount) / ((dbo.fnNumberOfYears(CONVERT(VARCHAR(15), LoanDateStart,
101), CONVERT(VARCHAR(15), LoanPaymentDue, 101)) * DATEDIFF(MONTH,
MIN(LoanDateStart), MAX(LoanPaymentDue))) * 2)) AS DECIMAL(18,2)))),0)
FROM LoanContract lc
INNER JOIN LoanType lt ON lt.LoanTypeID = lc.LoanTypeID
WHERE lc.LoanTypeID = 1 AND lc.EmployeeID = 5
【问题讨论】:
标签: sql sql-server