我得到了桌面促销,字段为store_id_list(VARCHAR)。我想在这里实现的是我希望这个促销可以在1个记录中的多个商店中使用,而不是使用多个记录,store_id_list值是以逗号分隔的store_id列表(例如:1,4,5,7,)< / p>
现在,我想得到表促销的记录,其中我有单个store_id值,例如:store_id = 5我怎么能在MySQL中做到这一点?我可以在单个查询中执行此操作吗?如果使用LIKE那么我更有可能得到15或45而不是5。
答案 0 :(得分:1)
我的建议是规范化表格,并为每个商店/促销提供数据库记录。但它可以这样做:
确保列值的开头和结尾有逗号,如下所示:
store_id_list : ,1,4,5,7,
然后像这样查询:
... where store_id_list like '%,5,%'
答案 1 :(得分:0)
我认为您正在寻找FIND_IN_SET
功能。例如:
SELECT * FROM tbl WHERE FIND_IN_SET('5', store_id) > 0;