-2
我現在有問題的列。我希望得到的結果假設是這樣的:SQL Server - 分組到一列
EmployeeID EducationalLoan
--------------
1 0.00
2 100.00
但結果顯示,
EmployeeID EducationalLoan
--------------
1 100.00
2 100.00
什麼我想實現這個時候是我想看到的只是員工貸款扣除價格上另一方面它只顯示0.00。
我知道theres背後的一個小竅門,有人可以幫我嗎?
DECLARE @EmployeeID AS INTEGER
SET @EmployeeID = 0;
SELECT DISTINCT
[EmployeeID] = emp.EmployeeID,
[EducationalLoan] = (SELECT ISNULL(SUM((CAST((lc.LoanAmount/((dbo.fnNumberOfYears(CONVERT(VARCHAR(15), LoanDateStart, 101), CONVERT(VARCHAR(15), LoanPaymentDue, 101)) * 12) * 2)) AS DECIMAL(18,2)))),0) FROM LoanContract lc WHERE lc.LoanTypeID = 1)
FROM Employee emp
INNER JOIN Salary sal ON sal.EmployeeID = emp.EmployeeID
INNER JOIN LoanContract lc ON lc.EmployeeID = emp.EmployeeID
INNER JOIN LoanType lt ON lt.LoanTypeID = lc.LoanTypeID
LEFT JOIN LoanPayments lp ON lp.LoanID = lc.LoanID
LEFT JOIN LoanFrequency lf ON lf.LoanFrequencyID = lc.LoanFrequencyID
WHERE emp.EmployeeID IN (SELECT EmployeeID FROM Employee WHERE EmployeeID LIKE '%' + CASE WHEN ISNULL(@EmployeeID,0) <> 0 THEN CAST(ISNULL(@EmployeeID, 0) AS VARCHAR(15)) ELSE '' END + '%')
GROUP BY emp.EmployeeID, lt.LoanTypeID
請編輯您的問題,包括樣本數據的DDL + DML。 –