-2
我有两个表,看起来像该字符串柱内部存在的项目获取计数
项目
- ID(INT)
- 名(为varchar)
- category_ids(VARCHAR)
在category_ids中有一个字符串,可以是“”,“1,3,7”或“4”o R “1,6,9” - 这个数字是类别ID
分类
- ID
我想知道有多少(INT)
我有两个表,看起来像该字符串柱内部存在的项目获取计数
项目
在category_ids中有一个字符串,可以是“”,“1,3,7”或“4”o R “1,6,9” - 这个数字是类别ID
分类
我想知道有多少(INT)
因此搜索解决方案后,我需要说的两件事
1)此任务可以通过使用)功能函数调用FIND_IN_SET((如苏雷什Kamrushi建议)
SELECT COUNT(*) FROM Items WHERE FIND_IN_SET("1",category_ids)
2来解决)最好不要使用这种表的连接结构的 - 想想让你的数据库使用多对多关系表进行归一化
您可以使用FIND_IN_SET() –
如果您的项目和类别只有多对多的表,那会更容易。 –
然后,如果可能的话,应该首先修复_broken_系统;这应该正确_normalized_,而不是被存储为一个逗号分隔的字符串。 – CBroe