Anda memiliki gabungan silang antara tblUserLoginDetail dan tblInvoicePaymentDetails di klausa FROM, jadi Anda tidak bisa menggunakan l.loginid di klausa FROM
Saya pikir yang Anda inginkan adalah ini dengan INNER JOIN yang eksplisit. Saya juga memisahkan filter dan bergabung dengan ketentuan:
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