使用同一行中其他列的数据更新表列

时间:2011-07-28 14:28:52

标签: sql-server

我有一个包含多列文本数据的表。目标是将这些列连接到同一个表和同一行中的单个不同列。

允许我这样做的SQL Server查询语法是什么?

4 个答案:

答案 0 :(得分:11)

这样的事情:

UPDATE myTable SET X = Y + Z

答案 1 :(得分:3)

您绝对需要复制数据吗?如果其中一个列值发生更改,则必须更新连接值。

计算列:

alter table dbo.MyTable add ConcatenatedColumn = ColumnA + ColumnB

或视图:

create view dbo.MyView as
select ColumnA, ColumnB, ColumnA + ColumnB as 'ConcatenatedColumn'
from dbo.MyTable

现在您可以更新ColumnA或ColumnB,并且ConcatenatedColumn将始终保持同步。如果这是你需要的行为,当然。

答案 2 :(得分:1)

可能会产生误解,但是:

Alter table myTable add combinedColumn Varchar(1000);

Update myTable set combinedColumn = textField1 + textField2;

答案 3 :(得分:0)

select 
  textfield1 + textfield2 + ... + textfieldN as conc_text,
  otherfield1,
  otherfield2,
  ...
  otherfieldN
from 
  mytable