将两个或多个列合并为表

时间:2015-06-05 19:06:20

标签: sql-server data-structures combinations

我有一个现有的数据库,其中包含一个我需要更改的表。由于最近请求了一些更改,我需要从表中取出两列,并将这两列中的数据放入表中的现有列中。值得庆幸的是,它们都是Varchar类型,所以数据不必转换。

这是表格现在的样子: enter image description here

这就是我想要的:

enter image description here

我不确定从哪里开始。那么,在不破坏表格或丢失任何数据的情况下,最好的方法是什么呢?

注意:这不适用于查询。我想更改表本身的结构以删除这两列,但是获取它们的数据并将其转储到现有列中。

1 个答案:

答案 0 :(得分:3)

这可以通过简单的更新声明来完成:

Update table
Set colC = colC + char(13) + char(10) + colD +char(13) + char(10) + colE

请注意,char(13) + char(10)是换行符。

验证数据已复制后,使用alter table删除colD和colE。

问题是您确定此举是明智的吗?

此举似乎构成了关系数据库设计的基本规则。如果这些列存储不同的数据实体,我强烈建议不要这样做 除非这些值实际上需要合并为单个值(在逻辑层面上),否则这是错误的。