2013-12-20 33 views
1

我想在這個sql語句中選擇不同的房間名稱,我不知道在這個sql語句中放置不同的位置。選擇3個內部連接的不同的柱子

SELECT Distinct 
R.RoomID,R.RoomName,RT.RTypeName,RT.RTypePrice,RB.RBedName,RB.RBedPrice, 
G.GalName,G.GalPath 

FROM tbRoom as R 
    INNER JOIN tbRoomType as RT ON R.RTypeID = RT.RTypeID 
    INNER JOIN tbRoomBed as RB ON R.RBedID = RB.RBedID 
    INNER JOIN tbGallery as G ON R.GalID = G.GalID 
WHERE R.RoomID NOT IN(
    SELECT RD.RoomID FROM tbReservationDetail as RD WHERE 
    RD.ArrivalDate <= '$dep' AND RD.DepartureDate >= '$arr' AND R.RoomID = 
    RD.RoomID 
) 
+0

難道你'DISTINCT'和沒有'DISTINCT',結果是什麼檢查? – Noor

+0

你是什麼意思與獨特?你只想要每個房間名稱出現一次?如果是,那麼您希望在您的選擇中出現哪些其他數據? – oerkelens

+0

SELECT DISTINCT R.RoomName FROM ...!?!?! – Strawberry

回答

0

試試這個:

SELECT R.RoomID,R.RoomName,RT.RTypeName,RT.RTypePrice,RB.RBedName,RB.RBedPrice, G.GalName,G.GalPath 
FROM tbRoom AS R 
INNER JOIN tbRoomType AS RT ON R.RTypeID = RT.RTypeID 
INNER JOIN tbRoomBed AS RB ON R.RBedID = RB.RBedID 
INNER JOIN tbGallery AS G ON R.GalID = G.GalID 
WHERE R.RoomID NOT IN(
    SELECT RD.RoomID 
    FROM tbReservationDetail AS RD 
    WHERE RD.ArrivalDate <= '$dep' AND RD.DepartureDate >= '$arr' AND R.RoomID = RD.RoomID 
) 
GROUP BY R.RoomName; 
+0

謝謝你的幫助....祝你好運 – user3108220