У меня есть некоторые квартиры, которые клиент может выбрать - на основе некоторых параметров.несколько фильтров за штуку
, например:
он ищет квартиру, то есть:
- 4 комнаты
- балкон
Эти параметры, сохраняются в таблице как таковой (под названием tblApartmentFilters
):
id (index) | apartmentID | filterID | filterOptionID
----------------------------------------------------------------------
где -
- apartmentID соответствует apartmentID в
tblApartments
таблице filterID
определяет вопрос (например: сколько комнат вы хотите? или вы хотите балкон), сохраненный вtblFilters
filterOptionID
представляет собой ответ на один из вопросов. поэтому в приведенном выше примере это будет filterOptionID # 7, который [4 комнаты] или элемент № 18, который является [да - нужен балкон]
Теперь ... мне нужно попробовать создать запрос SELECT поиск квартир, соответствующих параметрам. он отлично работает с одним параметром, но как только приходит 2-й, он терпит неудачу. и я понимаю, почему:
SELECT * FROM tblApartments
INNER JOIN tblApartmentFilters ON tblApartments.aptID = tblApartmentFilters.aptID
WHERE active = 1
AND filterID = 1 AND filterOptionID = 7 -- this is for the 4 rooms
AND filterID = 2 AND filterOptionID = 18 -- this is for the balcony
Теперь, очевидно, выше не работает на 2-х параметров - так как столбец FilterId не может быть 1 и 2 в то же время ....
так может кто-то наставит меня о том, как присоединиться к этой таблице фильтров, чтобы иметь возможность найти одно или несколько совпадений для запросов параметров?
большое спасибо заранее!
безупречный, спасибо! – kneidels