SQL Запрос интерпретации диапазона дат для раскрывающегося списка - PullRequest
0 голосов
/ 26 мая 2020

Я использую базу данных SQL с информацией об автомобилях в сочетании с отличным плагином WordPress, который выводит динамические c таблицы с данными.

Плагин также предлагает удобные функции фильтрации с помощью раскрывающихся списков, которые фильтруют контент в соответствии со значениями столбцов - однако я борюсь с одной проблемой.

Один столбец базы данных включает диапазон дат, в котором указан указанный c автомобилей было построено (например 2012 - 2016). Так что у меня много машин с разными диапазонами дат, которые часто пересекаются. Поэтому при открытии этого раскрывающегося списка у меня появляется много дубликатов.

Например:

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

Я хочу, чтобы пользователь мог выбирать из множества отдельных лет (например, 2014,2015,2016 ...). Если год выбран в раскрывающемся списке (например, 2014), необходимо отобразить все строки, соответствующие этому диапазону (например, также приведенный выше пример, где 2012–2016 также совпадают, потому что 2014 год находится в этом диапазоне.

Я написал разработчику, и он сказал мне использовать строки, но я понятия не имею, как это сделать.

Плагин предлагает возможность получить данные из таблицы SQL через $get .

Я был бы очень рад, если бы мне кто-нибудь помог с этой проблемой.

1 Ответ

0 голосов
/ 26 мая 2020

Сначала нормализуйте схему и используйте два столбца с целыми числами вместо строки в одном столбце. Например, made_from для нижнего года и made_to для верхнего года.

Затем вы можете просто использовать:

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

(где ? - заполнитель параметра для год, который вводит пользователь.)

...