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 に答える