ここでは、データ構造がまったく正しくありません。
カンマ区切り形式を使用して1つのフィールドに複数の値を格納するのではなく、次のように定義された3つのテーブルを使用する方が適切なソリューションです:
-
searchtest
-
id
名前コード>
-
キーワード
-
id
単語コード>
-
keywords_searchtest
-
id_keyword
-
id_searchtest
-
これで、 searchtest
のエントリを検索します 特定のキーワードを持つものは、次のように単純です:
select searchtest.*, keywords.*
from searchtest
inner join keywords_searchtest on keywords_searchtest.id_searchtest = searchtest.id
inner join keywords on keywords.id = keywords_searchtest.id_keyword
where keywords.word = 'test2'
さらに、特定の名前のsearchtestエントリを検索する必要があります:
select *
from searchtest
where name = 'trophy1'