2012-05-03 3 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

...この1つ:http://stackoverflow.com/q/2300322/306084 – pjmorse

答えて

6

MySQLにINTERSECTキーワードがありません。あなたが何を達成するかについての提案については、this questionthis oneを参照してください。

+0

ありがとう!あなたが与えたリンクが私の問題 – John

+0

+1を解決するのを助けてくれたので、私はあなたにそれを与えるでしょうが、それはどのように持っていない可能性がありますか? :O :( – Revious

1

INTERSECTは、MySQLではサポートされていません提供します。何らかの形でクエリを再構成する必要があります。 MySQLのバージョンがサブクエリをサポートしている場合は、サブクエリを使用することができます。

0

これは、intersectが同じテーブルでのみ動作し、異なるテーブルでは動作しないためです。 を参照してください。this

代わりに、joinステートメント構文を使用してください。 INTERSECTはSQLに存在します