Bạn có một phép nối chéo giữa tblUserLoginDetail và tblInvoicePaymentDetails trong mệnh đề FROM, vì vậy bạn không thể sử dụng l.loginid trong mệnh đề FROM
Tôi nghĩ những gì bạn muốn là điều này với một INNER JOIN rõ ràng. Tôi cũng đã tách bộ lọc và điều kiện tham gia:
select
l.username,
p.payid,
p.paymentdate,
sum(p.paymentamount) as payment,
b.balance as balance
from
tblUserLoginDetail l
inner join
tblInvoicePaymentDetails p On p.customerid=l.loginid
left outer join
tblPaymentCustomerBalance b ON p.payid=b.payid
where
p.accountnumber=10009
group by
p.payid,p.paymentdate,b.balance,l.username