2010-02-15 5 views
0

특정 튜플을 검색하는 데 문제가 있습니다. 저는 실제로 방 관리 시스템을 구축하려는 학생입니다.Mysql을 사용하여 특정 튜플 검색

Room(roomID,hotelname,rate) 

Reservation(resID,arriveDate,departDate,roomID). 

내가이 특정 날짜 사이에 사용할 수있는 객실을 검색하는 방법을 확실하지 않다 : 나는 두 개의 테이블이있다. 이것은 내가 사용했던 쿼리입니다.

SELECT Room.roomID,hotelname,rate 
    FROM Room 
    LEFT JOIN Reservation 
    on ( Room.roomID=Reservation.resID 
     and arriveDate >='2010-02-16' 
     and departDate <='2010-02-20' 
     ) 
GROUP BY roomID,hotelname,rate 
HAVING count(*)=0;' 

그러나 빈 세트를 반환합니다. any1은 내가하고있는 실수를 말해 줄 정도로 친절 할 수 있니?

+0

있습니까? –

+0

예 ... 객실 테이블에는 6 개의 객실이 있으며 예약 테이블에는 항목 만 있습니다. – Neelesh

답변

2

Room.roomID=Reservation.resIDRoom.roomID=Reservation.roomID이어야합니다.

당신은 부속과 다른 접근 방식을 시도 할 수 있습니다 : 당신은 설정을 일치하는 값이 있는지

SELECT roomID,hotelname,rate 
FROM Room 
WHERE roomID NOT IN (SELECT roomID FROM Reservation WHERE arriveDate >='2010-02-16' and departDate <='2010-02-20') 
+0

고마워요 ... 완벽하게 잘 작동했습니다 ... 이제는 깨닫습니다. 나는 불필요하게 일을 잘 알고 있습니다. ( – Neelesh