0

次の列を持つDevicesという名前のsqliteにテーブルがあります

Id, DeviceId, FavBrands, FavCategories

その中のサンプルデータは

 1        50ea9017cb5ad            1,2,8,9           4,6,8
 2        50ead1683dcc0            3,7,9             4,5,9
 3        50ee73b56c4ea            1,2,7             6,7,8

このテーブルにクエリを実行して、上記のテーブルに関連して FavBrands 7 を含む deviceid を返したいとします。行番号 2 と 3 を指定する必要があります。

ありがとう

4

1 に答える 1

2

これを使用できます:

SELECT * FROM Devices
WHERE instr(','||FavBrands||',' , ',7,')>0;

(データベースを正規化してくださいについての必須の発言であり、 Is stored a delimited list in a database column really that bad?へのリンク付き)。

別のアドバイスに注意して を使用LIKEする場合は、ここで行っているようにコンマを使用'%,7,%'して追加し、誤検知を回避してください (例:77リスト内の with)。

于 2013-01-21T13:20:04.503 に答える