0

我有一张表,我想在整个事情中更新一列。我有这个用于连接。

(COALESCE(f1,'')+';'+ COALESCE(f2,'')+';'+ COALESCE(f3,'')) 

好吧,当我将它插入我的列时,它会添加新列并且更新失败。有没有办法更新 MS SQL 中的值并使用它来更改值?

谢谢

update dbo.tblGeoTable (CombinedEmail)
select (COALESCE(f1,'')+';'+ COALESCE(f2,'')+';'+ COALESCE(f3,'')) 
from dbo.tblGeoTable

这是数据

F1 = f1email@email.com
F2 = f2email@email.com F3 = f3email@email.com CombinedEmail = f1+f2+f3,但我需要 ; 在那里将它们分开,我需要在它所在的当前行中替换它。

4

1 回答 1

2

如果我理解正确你想要什么试试这个

UPDATE tblGeoTable
   SET CombinedEmail = COALESCE(f1,'')+';'+ COALESCE(f2,'')+';'+ COALESCE(f3,'')

这是sqlfiddle 示例

编辑:

如果您想添加而不是替换到 CombinedEmail 列中的值,您可以这样做

UPDATE tblGeoTable
   SET CombinedEmail = COALESCE(CombinedEmail,'') + ';' + COALESCE(f1,'')+';'+ COALESCE(f2,'')+';'+ COALESCE(f3,'')
于 2013-03-05T05:07:43.477 回答