Поддержка Проблемы и решения Поиск по произвольным полям с помощью прямого запроса

  • Здравствуйте! В общем назрел такой вопрос.

    Допустим есть 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

    Но, естественно так вообще ничего не работает((

    Кто сталкивался? Есть какое-то решение?

  • Тема «Поиск по произвольным полям с помощью прямого запроса» закрыта для новых ответов.