Я пытаюсь найти результаты, которые найдены как по поиску по категориям, так и по ключевым словам. Но в phpMyAdmin этот код вызывает ошибки:
SELECT ID, post_title
FROM wp_5_posts AS p
LEFT JOIN wp_5_term_relationships AS r ON p.ID = r.object_id
WHERE r.term_taxonomy_id
IN (41, 9 )
AND p.post_type = 'attachment'
GROUP BY p.ID
HAVING COUNT(*)>1
INTERSECT
SELECT ID, post_title
FROM wp_5_posts
WHERE post_title
LIKE '%process%'
AND post_type='attachment'
Я получаю эту ошибку:
«# 1064 — у вас есть ошибка в вашем синтаксисе SQL; проверьте правильность синтаксиса в руководстве, соответствующем вашей версии сервера MySQL, для использования рядом с» INTERSECTION SELECT ID, post_title FROM wp_5_posts WHERE post_title LIKE «% powd» в строке 11 «
Может кто-нибудь объяснить мне, в чем проблема
Вы можете попробовать это (не проверено), но концепция должна быть такой
SELECT ID, post_title from (
(
SELECT ID, post_title
FROM wp_5_posts AS p
LEFT JOIN wp_5_term_relationships AS r ON p.ID = r.object_id
WHERE r.term_taxonomy_id IN (41, 9 ) AND p.post_type = 'attachment'
)
UNION ALL
(
SELECT ID, post_title
FROM wp_5_posts
WHERE post_title LIKE '%process%' AND post_type='attachment'
)
) AS t1 GROUP BY ID HAVING COUNT(*)>1;
Других решений пока нет …