我有一个值,例如“1”,我的数据库表“tbl_grp
”中有列“grp_id
”。此列“grp_id
”包含以逗号分隔的值,例如“1,2,3
”我正在寻找一种方法将我的单个值与列“grp_id”进行比较
”。
现在我正在使用以下查询:
"SELECT user_id, user_fname, user_lname FROM tbl_grp WHERE grp_id='1'";
最佳答案
您的数据不是第一范式。如果您遵循第一范式的规则,您将可以通过 key 访问所有数据。某些查询可能仍会导致表扫描,但不是这种类型。
不要将 CSV 用于可搜索的项目。将该字段分解为 1NF 等价物。
这不是另一个答案所说的多对多关系。这是一对多。
关于sql - 如何使用 Select Query 比较数据库列中逗号分隔值之间的单个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803296/