Ошибки SQL при использовании оператора INTERSECT

Я пытаюсь найти результаты, которые найдены как по поиску по категориям, так и по ключевым словам. Но в 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 «

Может кто-нибудь объяснить мне, в чем проблема

0

Решение

Вы можете попробовать это (не проверено), но концепция должна быть такой

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;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]