1

次の構造を持つ単純なデータベーステーブルがあります。

Teams       Id_1           Id_2            Id_3 

team_1       A              B                C

team_2       A              B                D

team_3       E              F                D

team_4       X              null            null

team_5       D              A                B

今、私は文字列 ID のサンプル配列を持っています。その値は A B です。たとえば、このデータ ポイントとデータベースとの最大の一致に基づいてチームを選択したいと考えています。たとえば、一致の結果は私に与えるはずです。 team_1、team_2、および team_5 が出力として表示されます。mysql でこのクエリを実行する効率的な方法は何ですか? 前もって感謝します。

4

2 に答える 2

1

これを試して。ID フィールドを取得し、スペース (セパレーター) で埋めます。検索文字列もスペースで埋めます。次に、パディングされた検索文字列でパディングされた ID が見つかるかどうかを確認します。

Select *
From Tbl
Where ' ' + ID_1 + ' ' in ' ' + SearchStr + ' '
   Or ' ' + ID_2 + ' ' in ' ' + SearchStr + ' '
   Or ' ' + ID_3 + ' ' in ' ' + SearchStr + ' '
于 2013-10-03T09:36:01.717 に答える