2010-10-12 24 views
1

我正在嘗試這樣的內部連接。無法綁定多部分標識符「Reservation.ReservationID」

select R.ReservationID, R.BookingNumber,P.FirstName, P.LastName 
from Reservation R inner join PersonName P 
on Reservation.ReservationID = PersonName.ResrvationID 

我收到的錯誤爲:

Msg 4104, Level 16, State 1, Line 1 
The multi-part identifier "Reservation.ReservationID" could not be bound. 
Msg 4104, Level 16, State 1, Line 1 
The multi-part identifier "PersonName.ResrvationID" could not be bound. 

回答

4

別名 「R」 和 「P」 掩蓋了實際的表名。

儘管這裏不適用,但它通常是有意義的。例如,當你有一個自聯接

select R.ReservationID, R.BookingNumber,P.FirstName, P.LastName 
from Reservation R inner join PersonName P 
on R.ReservationID = P.ReservationID --use aliasas 
+0

它的工作原理,但有什麼區別? – 2010-10-12 12:07:14

+1

@Nadeem:Reservation.ReservationID不存在,因爲您使用了「R」。例如,如果你有兩次預訂,例如? – gbn 2010-10-12 12:09:07

+0

+1爲自我加入的東西 – 2010-10-12 12:12:00

1

嘗試,而不是

select 
    R.ReservationID 
, R.BookingNumber 
, P.FirstName 
, P.LastName 

from Reservation R 
inner join PersonName P 
on R.ReservationID = P.ResrvationID 
相關問題