我正在开发一个过滤器,用户可以在其中为最终输出选择不同的条件。Right now I'm doing the construction of the SQL query, but whenever more conditions are selected, it doesn't work.
advalues表的示例。
+----+-----------+---------------+------------+
| id | listingId | value | identifier |
+----+-----------+---------------+------------+
| 1 | 1a | Alaskan Husky | race |
+----+-----------+---------------+------------+
| 2 | 1a | Højt | activity |
+----+-----------+---------------+------------+
| 3 | 1c | Akita | race |
+----+-----------+---------------+------------+
| 4 | 1c | Mellem | activity |
+----+-----------+---------------+------------+
如您所见,每个广告值都有不同的行。
我期待的结果
假设用户已经选中/勾选了显示“阿拉斯加哈士奇”的比赛的复选框,那么它应该返回匹配的列表 ID(一次)。如果用户同时选择了“阿拉斯加哈士奇”和活动级别为“低”,那么它不应该返回任何内容,如果活动级别是“Mellem”或“Højt”(中、高),那么它应该返回 listId 的位置比赛只有“阿拉斯加哈士奇”,而不是“秋田”。我希望你明白我想要完成什么。
我试过这样的东西,它什么也没返回。
SELECT * FROM advalues WHERE (identifier="activity" AND value IN("Mellem","Højt")) AND (identifier="race" AND value IN("Alaskan Husky"))
顺便说一句,我也想选择不同的listingId,所以它只返回唯一的listingId。
我将继续寻找解决方案,过去几个小时我一直在这样做,但我也想在这里发帖,因为我还没有找到任何对我有帮助的东西。谢谢!