[英]Join more than two tables with “not in” clause
您能告诉我在哪里可以将FK_roomTypesID,FK_BedTypeID和FK_roomViewsID表加入其中吗? 所有FK与主数据库位于不同的表上。
MySqlDataAdapter da = new MySqlDataAdapter("SELECT RoomNo, RoomBedsNo,
RoomSmoking, RoomMiniBar,RoomKitchen,RoomFirePlace,RoomBalcony, RoomVeranda,
RoomGarden, RoomEntrance, RoomAirCondition, RoomTV, FK_roomTypesID,
FK_BedTypeID, FK_roomViewsID FROM tblrooms WHERE roomsID NOT IN(SELECT FK_roomsID
FROM tblbooking WHERE '" + arrdate + "' < checkOutDate AND '" + depdate + "' >
checkInDate)", conn);
您的查询中包含以下部分:
FROM tblrooms
您可以在FROM
子句中定义join
,因此应将上面的代码修改为:
FROM tblrooms
join tblroomtypes
on tblrooms.FK_roomTypesID = tblroomtypes.roomTypesID
join tblbedtypes
on tblrooms.FK_bedTypesID = tblbedtypes.bedTypesID
join tblroomviews
on tblrooms.FK_roomViewsID = tblroomviews.roomViewsID
请注意,您没有提供太多信息,所以我猜这里是您的table
名和column
名。 另外,请注意,我没有选择任何新columns
。 最后,请注意,如果问题适用于您的情况,则需要解决歧义,方法是将您的columns
称为table
的列。 并格式化您的代码,很难读取它。 我没有对joins
使用inner
关键字,因为默认情况下join
是inner
的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.