我在解决有关如何构建特定查询的逻辑时遇到问题。
我所拥有的是一种表格,可以通过卧室数量、平方英尺等来缩小房屋清单的范围。
我的问题是编写一个查询,其中包括城市和邮政编码参数以及房屋的详细信息。
例如:
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
,因此会被排除在外。但是,如果我可以将它们分开,那应该没关系。
有没有办法在不编写两个子查询的情况下解决这个问题?