簡體   English   中英

用“ not in”子句連接兩個以上的表

[英]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關鍵字,因為默認情況下joininner的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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