[英]INNER JOIN with two of the same tables with the same fields
因此,我正在為公共汽車預訂系統,[Booking]表中有一些外國ID。 當我意識到“ CollectionID”和“ DestinationID”均來自[Location]表時,我試圖在DataGridView中顯示與用戶相關的數據。
本質上,[Booking]表包含CollectionID和DestinationID,它們均作為外鍵來自[Location]表。 您不能兩次選擇相同的集合和目的地。
我嘗試了內部聯接,結果是一個錯誤,我也嘗試了別名,第一個[Location]表名為LOC1,第二個[Location]表LOC2
SELECT Booking.BookingID, Location.Name, Location.Name, FROM Booking
INNER JOIN Location
ON Booking.CollectionID = Location.LocationID
INNER JOIN Location
ON Booking.DestinationID = Location.LocationID
結果是:“ FROM子句中的對象“ Location”和“ Location”具有相同的公開名稱。使用相關名稱來區分它們。”
您需要別名!
SELECT b.BookingID, lc.Name, ld.Name
FROM Booking b INNER JOIN
Location lc
ON b.CollectionID = lc.LocationID INNER JOIN
Location ld
ON b.DestinationID = ld.LocationID;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.