SELECT
dbo.Customers.FirstName as Firstname, dbo.Customers.LastName as Lastname,
dbo.Customers.Phone as Phone, dbo.Guarantors.FirstName as Guarantor Firstname,
dbo.Guarantors.LastName as Guarantor Lastname,
dbo.Guarantors.Phone as Guarantor Phone,
SUM(dbo.PaymentHistory.PaymentAmount) - SUM(dbo.PaymentHistory.PayedAmount) as Debt
FROM
dbo.Credits
INNER JOIN
dbo.PaymentHistory ON dbo.Credits.ID = dbo.PaymentHistory.CreditID
INNER JOIN
dbo.Customers ON dbo.Credits.CustomerID = dbo.Customers.ID
LEFT OUTER JOIN
dbo.CreditGuarantors ON dbo.Credits.ID = dbo.CreditGuarantors.CreditID
LEFT OUTER JOIN
dbo.Guarantors ON dbo.CreditGuarantors.GuarantorID = dbo.Guarantors.ID
WHERE
(dbo.Credits.Status = 0) AND
(dbo.PaymentHistory.PaymentDay <= GETDATE()) AND
(dbo.Credits.BranchID = 1)
GROUP BY
dbo.Customers.LastName, dbo.Customers.Phone,
dbo.Credits.ID, dbo.Customers.FirstName,
dbo.Guarantors.FirstName, dbo.Guarantors.LastName,
dbo.Guarantors.Phone
Поэтому я хочу добавить еще 1 правило, where Debt !=0
. но я получил ошибку, может помочь мне с этим? Я хочу, чтобы получить долг, который не 0, имя человека, который имеет ДОЛГКак выбрать на основе пользовательского столбца
, Что ошибка показывает – Mansoor
Это хорошая практика программирования перечислить GROUP BY столбцы в том же порядке, как они появляются в списке выбора. – jarlh
спасибо за примечание, можно сказать, есть ли какая-то разница или это просто этика ?? – Noah