2011-07-03 15 views
1

次のMySqlクエリを使用しようとしていますが、3行目の 'WHERE FIND_IN_SET(' query '、Alternate_name)'に構文エラーが返されます。 MySqlのマニュアル、しかし、私はそれを修正する方法を見つけることができないようです。大きなMySqlクエリのエラー

クエリ:問題が発生しているSELECT文で

SELECT name, 'Events' as source FROM feed_events WHERE name LIKE '".$query."%' UNION ALL  
SELECT name, 'Venues' as source FROM feed_venues WHERE name LIKE '".$query."%' UNION ALL 
SELECT name, 'Locations' as source FROM feed_locations WHERE name LIKE '".$query."%' OR WHERE FIND_IN_SET('".$query."', Alternate_name) 

は、私が最もよく、ユーザが入力した文字列($クエリ)をフィット都市の名前を選択しようとしています。最初の列には都市名があり、2番目の列にはその都市の代替名のコンマ区切りリストがあります。 find_in_set()は、その列の項目を検索して最も一致するものを探します。この構文エラーを修正する方法はありますか、find_in_set()は私がやろうとしていることの理想的な選択ではありませんか?

答えて

0

2番目のWHEREキーワードは不要です。あなたは、例えばOR

このような
WHERE expression1 OR expression2 

で2つの物事を持つことができます。

WHERE field = '1' OR field = '2' 
関連する問題