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