2011-07-25 30 views
2
select distinct 
    l.username, 
    p.payid, 
    p.paymentdate, 
    sum(p.paymentamount) as payment, 
    b.balance as balance 
from 
    tblUserLoginDetail l, 
    tblInvoicePaymentDetails p 
    left outer join tblPaymentCustomerBalance b 
    on p.accountnumber=10009 
    and p.payid=b.payid 
    and p.customerid=l.loginid 
    group by p.payid,p.paymentdate,b.balance,l.username 

誤りがある「マルチパート識別子はバインドできませんでした」:解決SQL Serverでエラー

Msg 4104, Level 16, State 1, Line 1 
The multi-part identifier "l.loginid" could not be bound. 

ソリューションとは何ですか?

答えて

2

あなたはFROM句

でl.loginidを使用することはできませんので、私は何をしたいことは、明示的なINNERと、これは、JOINだと思う、クロスはFROM句でtblUserLoginDetailとtblInvoicePaymentDetails間の結合を持っています。 I'eもフィルタを分離し、結合条件を:

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 
+0

3レコードがrの10009口座入金テーブルに基づいて、先生が、customerbalance表1レコードがある、私は3つのレコードを持っているとのバランスがcustomertable – hmk

+0

に残りのレコードに0であります@ hmk:あなたが尋ねた質問には関係ありません – gbn