特定のクエリを作成する方法に関するロジックを回避するのに問題があります。
私が持っているのは、寝室の数、平方フィートなどで住宅リストを絞り込むフォームです.
私の問題は、都市と郵便番号の両方のパラメーターと家の詳細を含むクエリを作成することです。
例えば:
SELECT * FROM my_houses
WHERE
BEDROOMS >= 3
AND
SQFT >= 1500
AND
CITY IN ('Gotham', 'Metropolis', 'Central')
VS
SELECT * FROM my_houses
WHERE
BEDROOMS >= 3
AND
SQFT >= 1500
AND
CITY IN ('Gotham', 'Metropolis', 'Central')
OR
ZIP IN ('65656', '65432', '63254')
今、私が理解しているように、私がそれを使用するOR
と、他のパラメーターが に対して置かれないため、寝室の数に関係なく、ZIP
これらの値を持つすべてのエントリが表示されます。ZIP
また、都市と ZIP は少し相互に排他的であるため、CITY
値を満たすが a ではないものと競合するためZIP
、除外されます。しかし、それらを切り離すことができれば、それは問題ではありません。
2 つのサブクエリを書かずにこれを回避する方法はありますか?