2016-06-16 3 views

答えて

0

を解決することができます

SELECT *, 
     MATCH(ppa, specialization) AGAINST('computer science' IN BOOLEAN MODE) AS score 
FROM ppa 
JOIN organizations o ON o.id = ppa.id 
WHERE MATCH(ppa, specialization) AGAINST('computer science' IN BOOLEAN MODE) 
    AND LOCATION = 'London' 
ORDER BY score DESC. 

曖昧でどこに列「場所」:

$sql = "SELECT *, MATCH(ppa, specialization)". 
" AGAINST('$search_parameter' IN BOOLEAN MODE) ". 
"AS score FROM ppa JOIN organizations o ". 
"ON o.id = ppa.id WHERE MATCH(ppa, specialization) ". 
"AGAINST('$search_parameter' IN BOOLEAN MODE) AND". 
" location = '$location' ORDER BY score DESC ";" 

そして、それは私にこのエラーを与える:私はこのコードを書きましたどちらの表にもあります。 MySQLはクエリでどちらを使用するかを決めることができないため、エラーメッセージが表示されます。あなたは(適切なテーブルを使用)フィールド参照にテーブル名を追加することにより、locationフィールドを使用したいテーブルから示しています

... 
AND ppa.LOCATION = 'London' 
... 
0

locationフィールドがPPAで(テーブルの両方で使用できますので、あなたのコードがエラーを与えています組織内で)。 where句では、locationlocation = '$location'に提出されていると言及していません。

locationlocation = '$location'ppa.locationまたはo.locationに置き換えて修正することができます。

0

SELECT PPA。*、 MATCH(BOOLEAN MODE IN 'と計算機科学')AGAINST(ppa.ppa、ppa.specialization)ASスコア PPA FROM PPA が組織を登録しようとして、O ON o.id = ppa.id WHERE MATCH(ppa.ppa、ppa.specialization)AGAINST(コンピュータサイエンスブーレーンモード) AND LOCATION = 'London' ORDER BYスコアDESC。

関連する問題