-1

私が使用しているmysqlテーブルは次のようになります。

   id    |   name  | other_names  
 ---------------------------------
    1    |  john   | peter johny mike
    2    |  jane   | kevin pite janes john
    3    |  carl   | carlo nick pole 

各ユーザーのクエリID#の結果として、テーブル「other_names」にクエリの単語で始まる名前が含まれていることを取得したいと思います。たとえば、クエリ内の単語が「joh」の場合、結果ID1および2として取得する必要があります。

LIKE%joh%を含むクエリを試しましたが、その結果、「その他の名前」列にクエリの単語を含む名前が付いている各ユーザーID#を取得しています。

SELECT * FROM table WHERE name LIKE  '".$word."%' OR other_names LIKE '%".$word."%'

列「other_names」の名前は、単語を含むのではなく、クエリの単語で始まる必要があります。

4

2 に答える 2

0

%クエリから先頭を削除します

SELECT * FROM table 
WHERE other_names LIKE '".$word."%'
于 2012-07-18T18:01:03.043 に答える
0

REGEXP演算子とborderキーワードが必要です

SELECT * FROM table WHERE name REGEXP '[:<:]]someword'
于 2012-07-18T18:01:43.843 に答える