ここでは、データ構造がまったく正しくありません。
カンマ区切り形式を使用して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'