我有一个表,其中一列存储多个引用另一个表的id。我已经假设ids 1,5并希望在表中找到具有该值的行。
表结构如下:
ID子类别类别(指另一个表)
1甲1,3,15
2 ab 1、10、4段
3 abc 3,5节
4 abcd 3,4,6,11号
5 abcde二、五
6 abcdef 24,3,15型
从Category=“%1%”或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

但实际上,您不应该在一个列中存储多个值。
如果您更改表设计,选择起来会更容易,速度也会更快,因为它可以使用索引。

关于php - 在SQL表中查找具有值列的特定部分的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28110761/

10-16 08:28