2012-05-03 4 views
1

Я новичок в mysql, поэтому, пожалуйста, будьте добры. Я получаю следующую ошибку для моего скрипта, и я не уверен, что с ней не так.mysql intersect

SELECT uoid 
FROM mint 
WHERE mint_id='6' and userid='3836' 
INTERSECT 
SELECT id as uoid 
FROM cats 
WHERE category='Health, Fitness' 
ORDER BY 1; 

дает

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTERSECT SELECT id as uoid FROM cats WHERE category='Health, Fitness'' at line 4 
+1

Это потому, что у MySql нет ключевого слова INTERSECT. Возможно интересно: http://stackoverflow.com/questions/2621382/intersect-in-mysql. – alexn

+1

... и этот: http://stackoverflow.com/q/2300322/306084 – pjmorse

ответ

6

У MySQL нет ключевого слова INTERSECT. См. this question и this one за предложения о том, как добиться того, что вам нужно.

+0

Спасибо! Я дам его вам, так как ссылки, которые вы дали, помогли исправить мою проблему – John

+0

+1, но как это возможно, чего у нее нет? : O :( – Revious

1

INTERSECT не поддерживается в MySQL. Вам нужно как-то реструктурировать ваш запрос. Возможно, вы сможете использовать подзапрос, если версия MySQL поддерживает подзапросы.

0

Это потому, что пересечение работает только с той же таблицей, а не с разными таблицами, как вы пытаетесь. См. this

Вместо синтаксиса утверждения соединения использовать вместо ссылки. И INTERSECT существует в sql