【发布时间】:2014-11-13 11:37:23
【问题描述】:
下面是SELECT查询的结果集,
mysql> select * from mytable where userid =242 ;
+--------+-----------------------------+------------+---------------------+---------------------+
| UserId | ActiveLinks | ModifiedBy | DateCreated | DateModified |
+--------+-----------------------------+------------+---------------------+---------------------+
| 242 | 1|2|4|6|9|15|22|33|43|57|58 | 66 | 2013-11-28 16:17:25 | 2013-11-28 16:17:25 |
+--------+-----------------------------+------------+---------------------+---------------------+
我想要的是SELECT通过拆分活动链接列并将其与以下格式的UserId相关联,
例如,
UserId ActiveLinks
242 1
242 2
242 4
242 6
任何人都可以帮助我解决这个问题,到目前为止,我没有想到任何事情。谢谢
【问题讨论】:
-
你最好修复你的数据库模型。存储分隔值几乎总是一个糟糕的选择
-
谢谢大家,我知道结构不好,所以只能将所有旧记录迁移到新的标准化数据库表
-
@CodingAnt 同理stackoverflow.com/questions/17942508/…
-
每个数据库开发人员都会在某个时候收到非规范化数据。他可以通过后端创建触发器或以规范化的方式记录数据,但历史数据需要根据新的规范化规则进行调整。