Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Risolvi Impossibile associare l'identificatore in più parti in SQL Server

Hai un cross join tra tblUserLoginDetail e tblInvoicePaymentDetails nella clausola FROM, quindi non puoi usare l.loginid nella clausola FROM

Penso che quello che vuoi sia questo con un esplicito INNER JOIN. Ho anche separato le condizioni di filtro e unione:

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