首页 > 解决方案 > 用于解释下拉列表的日期范围的 SQL 查询

问题描述

我将带有汽车信息的 SQL 数据库与一个很棒的 WordPress 插件结合使用,该插件可以输出带有数据的动态表。

该插件还通过根据列值过滤内容的下拉菜单提供了很好的过滤功能 - 但是我遇到了一个问题。

数据库的一列包括特定汽车的制造日期范围(例如 2012 - 2016 年)。所以我有很多不同日期范围的汽车,它们经常重叠。因此,当我打开此下拉菜单时,我有很多重复项。

例如:

2012 - 2016
2012 - 2018
2013 - 2014
2013 - 2017
and so on...

我希望用户能够从各种单一年份中进行选择(例如 2014、2015、2016 ......)。如果通过下拉选择了一年(例如 2014 年),则需要显示与此范围匹配的所有行(例如,上面的示例 2012 - 2016 也是匹配的,因为 2014 在此范围内。

我写信给开发人员,他告诉我使用字符串,但我不知道该怎么做。

该插件提供了从 SQL 表中获取数据的可能性$get

如果有人帮助我解决这个问题,我真的会很高兴。

标签: sqlwordpressdropdown

解决方案


首先规范化模式并使用两列整数而不是一列中的字符串。例如made_from低年级和made_to高年级。

然后你可以简单地使用:

SELECT ...
       FROM ...
       WHERE made_from <= ?
             AND made_to >= ?;

?(用户输入年份的参数占位符在哪里。)


推荐阅读