簡體   English   中英

INNER JOIN,其中兩個具有相同字段的相同表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM