1

andこのクエリに追加してタグ文字列でフィルタリングすると、結果が得られないのはなぜですか。これを含めるにはどうすればよいですか:

`subject_tags`.`string_en` =  '%beach%'" 

ちゃんと?

SELECT *, ( 3959 * acos( cos( radians(22.2863943) ) * cos( radians( lat ) ) * cos( radians( subject.long ) - radians(114.1491375) ) + sin( radians(22.2863943) ) * sin( radians( lat ) ) ) )
AS distance 
FROM subject 
JOIN `subject_to_tag` ON `subject_to_tag`.`subject_id` = `subject`.`id`
JOIN `subject_tags` ON `subject_tags`.`id` = `subject_to_tag`.`tag_id`  
and `subject_tags`.`string_en` =  '%beach%'     
LIMIT 10

これがテーブル構造です....

ここに画像の説明を入力

ありがとう

4

2 に答える 2

2

為に

and `subject_tags`.`string_en` =  '%beach%'

私はあなたが意味したと思います

and `subject_tags`.`string_en` LIKE  '%beach%'
于 2013-06-03T06:05:47.227 に答える
1

パターンに一致させたい場合は、Jim Garrison が回答したように「LIKE」演算子を使用できます。

and `subject_tags`.`string_en` LIKE  '%beach%'

しかし、列に正確に「ビーチ」という用語が必要な場合は、次のようにする必要があります。

and `subject_tags`.`string_en` =  'beach'.

また、比較関数と演算子もご覧ください。

于 2013-06-03T06:44:13.483 に答える