【发布时间】:2018-12-21 15:23:32
【问题描述】:
我正在尝试构建具有多个依赖项的过滤器函数,但是当我向 SQL 查询添加 AND 时,似乎没有找到任何结果,但如果我在 AND 之前和之后使用查询进行搜索,则正确结果找到了。
我尝试构建一个过滤功能,让用户可以在范围之间进行过滤,例如:价格:100 美元到 200 美元之间,平方英尺介于 30 到 80 美元之间。
我的方法是这样的:
SELECT * FROM 'tableXY' WHERE value BETWEEN 100 AND 200 AND key ='price'
AND value BETWEEN 2 AND 5 AND key = 'rooms'
AND value BETWEEN 40 AND 80 AND key = 'sqft'......and so on.
该表包含列 id、foreign_id、key 和 value。行中的键是价格、平方英尺、房间、地址等。 如果我过滤价格 x 和价格 y 之间的某个价格范围以及 n 个房间和 m 个房间之间的房间,它应该只返回设置的每个过滤器适用的结果。
我的方法没有找到结果,如果我使用 OR 而不是 AND,它还会显示其他过滤器不适用的结果。
【问题讨论】:
-
请提供样本数据和期望的结果。
-
你可能想要
OR value...而不是AND value...
标签: mysql sql database phpmyadmin