我想编写一个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
有什么想法吗?
答案 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 *
中显示为附加列,但数据不会持续两次。