1
我有一些公寓,客戶可以選擇 - 基於一些參數。每個項目多個過濾器
例如:
他正在找房子,具有:
- 4間
- 陽臺
這些參數,保存在一個表作爲這樣的(稱爲tblApartmentFilters
):
id (index) | apartmentID | filterID | filterOptionID
----------------------------------------------------------------------
哪裏 -
- 的apartmentID的apartmentID匹配在
tblApartments
表 - 的
filterID
定義如問題(:有多少房間,你想要什麼?或者你想要一個陽臺),保存在tblFilters
filterOptionID
代表了其中一個問題的答案。所以在上面的例子中 - 它將是[4房間]的filterOptionID#7或是[是 - 想要陽臺]的項目#18
現在...我需要嘗試創建一個SELECT查詢搜索與參數匹配的公寓。它只用一個參數就可以很好地工作 - 但是一旦進入第二個參數 - 它就會失敗。我明白爲什麼:
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