我有一个表,在一个列中存储了引用另一个表的多个ID。我可以说id 1,5,并想在表中找到具有该值的行。表结构是这样的:
ID SubCategory类别(此表引用另一张表)
1 a 1,3,15
2 ab 1,10,4
3 abc 3,5
4 abcd 3,4,6,11
5 abcde 2,5
6 abcdef 24,3, 15
从table_name中选择* WHERE Category =“%1%” OR Category =“%5%”; 使用通配符将不会返回正确的行。任何想法如何获得正确的行(即1,2,3,5)
您可以使用FIND_IN_SET
SELECT *
from table_name
WHERE find_in_set(1, Category) > 0
or find_in_set(5, Category) > 0
如果更改表设计,则选择起来会更快,更快捷,因为它可以利用索引。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句