Я пытаюсь отобразить записи между двумя датами. Даты хранятся в этом формате 'dd/mm/YYYY'
.
meta_id | post_id | meta_key | meta_value
5652 | 510 | _begin_date_course | 04/02/2018
5756 | 512 | _begin_date_course | 04/02/2018
5889 | 510 | _end_date_course | 11/03/2019
6002 | 512 | _end_date_course | 04/02/2019
..
Я пытаюсь вернуть post_id
между двумя датами.
Если я попробую это:
SELECT * FROM wp_postmeta
WHERE (meta_key = '_begin_date_course' AND STR_TO_DATE(meta_value, '%d/%m/%Y') >= '2019-02-04')
или
SELECT * FROM wp_postmeta
WHERE (meta_key = '_end_date_course' AND STR_TO_DATE(meta_value, '%d/%m/%Y') <= '2020-06-06')
Это работает.
Но если я попробую с форматом AND, он не будет работать
SELECT * FROM wp_postmeta
WHERE (meta_key = '_begin_date_course' AND STR_TO_DATE(meta_value, '%d/%m/%Y') >= '2019-02-04')
AND (meta_key = '_end_date_course' AND STR_TO_DATE(meta_value, '%d/%m/%Y') <= '2020-06-06')
Возможно, потому что _begin_date_course и _end_date_course находятся в двух разных записях.
Как я могу получить post_id в диапазоне в этом состоянии?