2016-12-21 84 views
0

我想编写一个sql更新,它将更新每列中的2列,并从其他列中取值。 例如我有一张桌子SQL更新第2列和第3列第1列的值

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

任何想法?

+4

在几列中存储相同的值?!?为什么? – jarlh

回答

2

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

Update SomeTable 
set Column2 = column1 
, Column3 = Column1 
2
update table set 
    [Column 2] = [Column 1], 
    [Column 3] = [Column 1] 

但为什么呢?如果你只需要一个以上的输出列包含相同的价值,更好的是创建计算列

Alter table [MyTable] add [column2] as column1 

这将在select *作为附加列显示,但该数据不保留两次。

相关问题