Поиск по произвольным полям с помощью прямого запроса
-
Здравствуйте! В общем назрел такой вопрос.
Допустим есть 2 поста. У первого поста присвоено произвольное поле key1 со значением value1, у второго key2 со значением value2
Я делаю в базу запрос типа:
SELECT * FROM wp_postmeta WHERE (meta_key=»key1″ AND meta_value=»value1″) OR (meta_key=»key2″ AND meta_value=»value2″) ORDER BY post_id DESC
В результате находятся оба произвольных поля. Но если делать запрос вот так например:
SELECT * FROM wp_postmeta WHERE (meta_key=»key1″ AND meta_value=»value1″) OR (meta_key=»key2″ AND meta_value=»value3″) ORDER BY post_id DESC
То находится 1 произвольное поле. А нужно, чтобы ничего не находилось. Т.е. в поиске должны быть только те поля, которые отвечают всем значениям.
Пробовал конструкции типа:
SELECT * FROM wp_postmeta WHERE (meta_key=»key1″ AND meta_value=»value1″) AND (meta_key=»key2″ AND meta_value=»value2″) ORDER BY post_id DESC
Но, естественно так вообще ничего не работает((
Кто сталкивался? Есть какое-то решение?
- Тема «Поиск по произвольным полям с помощью прямого запроса» закрыта для новых ответов.