0

我在 sqlite 中有一个名为 Devices 的表,其中包含以下列

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 storage a delimited list in a database column 难道真的那么糟糕吗?)。

如果您听取其他建议并使用LIKE,请确保您'%,7,%'像我们在这里一样使用和添加逗号,以避免误报(例如77列表中的 with)。

于 2013-01-21T13:20:04.503 回答