Я новичок в 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) Выберите запрос, если он: Опубликован, Имеет ярлык и не имеет мета_ключа «включить» или «исключить»
Строка 2) Выберите запрос, если он: Опубликован, Имеет ярлык, имеет мета_ключ «включить» и мета_значение равно «72»
Строка 3) Выберите запрос, если он: Опубликован, Имеет ярлык, имеет мета_ключ «исключить» и мета_значение не равно «72».
Но это возвращает мне двойное или тройное значение каждого выбора. Его следует выбирать только в том случае, если он соответствует одному из этих трех сенариев. Что я делаю не так?