繁体   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