получить уникальный идентификатор отеля для пользователей для системы бронирования

У меня проблема с sql. Мне нужно написать сложный запрос для таблицы, описанной ниже

id date quantity roomtypeid hotelid 

Пользователь будет искать гостиницы, используя регистрацию и дату выезда, и указывать количество номеров (количество) в поисковом запросе, поэтому мне нужно сделать, чтобы получить идентификаторы отелей из таблицы выше, которые имеют минимальное количество номеров, доступных при регистрации заезда, чтобы проверить Дата.

 1 04-01-2013 3 4 10 2 04-02-2013 3 4 10 3 04-03-2013 3 4 10 4 04-04-2013 3 4 10 5 04-01-2013 3 4 11 6 04-02-2013 3 4 11 7 04-03-2013 3 4 11 8 04-04-2013 3 4 11 9 04-01-2013 3 4 12 10 04-02-2013 3 4 12 

Итоговый запрос должен предоставить только 10,11 в качестве идентификатора отеля, если пользователь хочет забронировать номер с 04-01-2013 по 04-03-2013 с 3 номерами.

С уважением, Субаш

UPDATE2

 SELECT `hotelid` FROM table1 WHERE `date` BETWEEN '2013-04-01' AND '2013-04-03' AND quantity >=3 GROUP BY `hotelid` HAVING COUNT(*) = DATEDIFF('2013-04-03', '2013-04-01') + 1 

3 в предложении WHERE – это количество комнат, которые должны быть доступны.

Вывод

 | HOTELID | ----------- | 10 | | 11 | 

SQLFiddle

 SELECT DISTINCT(`hotelid`) FROM `tableName` WHERE `date` = $checkindate AND `date` = $checkoutdate AND `quantity` = $numberofroom 

Используйте вышеуказанный запрос. это только фиктивный запрос изменяет его согласно вам (имена полей и имена переменных)