sql - 如何使用 Select Query 比较数据库列中逗号分隔值之间的单个值?

标签 sql mysql normalization

我有一个值,例如“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/

相关文章:

限制子句内的Mysql子查询

python - 如何对非正态分布进行标准化?

mysql - 第二范式中的 E-R 模式

MySql。如何使用自助加入

SQL-Azure 性能,添加数据库还是添加服务器?

PHP - 根据数字对 mysql_fetch_array 进行排序

java - WildFly8 EJB3 MySQL 加载驱动程序不起作用

r - 如何将数据系列规范化为起始值 = 0?

mysql - 最喜欢的照片

sql - 在 SQL 中按日期过滤