Я новичок в MySQL, и у меня возникла проблема с запросом, использующим PHP. Смотрите три последние строки.
$query = "
SELECT post_content, slug, ID
FROM wp_posts
INNER JOIN wp_term_relationships
ON wp_posts.ID = wp_term_relationships.object_id
INNER JOIN wp_terms
ON wp_term_relationships.term_taxonomy_id = wp_terms.term_id
INNER JOIN wp_postmeta
ON wp_posts.ID = wp_postmeta.post_id
WHERE post_status = 'publish' AND slug = 'a-slug' AND meta_key <> 'include' AND meta_key <> 'exkludera'
OR post_status = 'publish' AND slug = 'a-slug' AND meta_key = 'include' AND meta_value = '72'
OR post_status = 'publish' AND slug = 'a-slug' AND meta_key = 'exclude' AND meta_value <> '72'
";
С тремя последними строками я хочу сказать:
Строка 1) Выберите запрос, если он:
Публикуется, имеет a-slug и не имеет meta_key "include" или "exclude"
Строка 2) Выберите запрос, если он:
Публикуется, имеет a-slug, имеет meta_key «include», а meta_value равно «72»
Строка 3) Выберите запрос, если он:
Публикуется, имеет a-slug, имеет meta_key «exclude» и значение meta_value не равно «72»
Но это возвращает мне двойную или тройную цену каждого выбора.
Его следует выбирать только в том случае, если он соответствует одному из этих трех сенарио. Что я делаю не так?