Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Lösung Der mehrteilige Bezeichner konnte in SQL Server nicht gebunden werden

Sie haben einen Cross Join zwischen tblUserLoginDetail und tblInvoicePaymentDetails in der FROM-Klausel, daher können Sie l.loginid nicht in der FROM-Klausel verwenden

Ich denke, was Sie wollen, ist dies mit einem expliziten INNER JOIN. Ich habe auch getrennte Filter- und Join-Bedingungen:

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