SQL更新第2列和第3列的第3列

时间:2016-12-21 14:13:07

标签: sql sql-server

我想编写一个sql更新,它会更新从其他列获取值的每一行中的2列。 例如,我有一个表

Column 1 | Column 2 | column 3

Value 1 | nothing XX | nothing

VaLUE 2 | nothing XX | nothing

Value 3 | nothing XX | nothing

我想从第1列的值更新第2列和第3列。 结果表应该是这样的:

Column 1 | Column 2 | column 3

Value 1 | Value 1 | Value 1

VaLUE 2 | VaLUE 2 | VaLUE 2

Value 3 | Value 3 | Value 3

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

使所有三列完全相同似乎完全没有意义,但代码非常简单。

Update SomeTable
set Column2 = column1
, Column3 = Column1

答案 1 :(得分:2)

update table set
   [Column 2] = [Column 1],
   [Column 3] = [Column 1]

但为什么呢?如果您只需要多个输出列来包含相同的值,那么最好创建计算列

  Alter table [MyTable] add [column2] as column1

这将在select *中显示为附加列,但数据不会持续两次。