0

あるテーブルから別のテーブルに特定の値をコピーするSQL Server 2008のストアドプロシージャがあります.3つの値を2番目の(コピー先)テーブルの1つの値にする必要があります。上記の例の中でSQLストアドプロシージャの値を連結する

INSERT INTO copyto (FIELD_ONE, FIELD_TWO, FIELD_THREE, 
      OTHER_DATA1, OTHER_DATA2, OTHER_DATA3, 
      ) 
SELECT LTRIM(RTRIM(OTHER_DATA1)), LTRIM(RTRIM(OTHER_DATA2)), 
     LTRIM(RTRIM(OTHER_DATA3)),LTRIM(RTRIM(FIELD_ONE)), 
     LTRIM(RTRIM(FIELD_TWO)), LTRIM(RTRIM(FIELD_THREE)) 
     FROM copyfrom 

(これは、ストアドプロシージャから抽出されたコード)を使用すると、任意の/他のほとんどのプログラミング言語と同じようにあなたは、単にそれらを連結私はフィールド1、2及び3

+1

のプレチェックとしてISNULL(myfield,'')またはCOALESCE(myfield,'')を使用して、フィールド1,2,3を連結します。どこに挿入しますか? –

+0

filed1、filed2、filed3を別々に挿入するのではなく、COPYTOテーブルに1つのフィールドとして挿入したいと思います。 – Deviland

+2

ですが、copytoには6つのフィールドがあります。 –

答えて

1

を連結する必要があります:

select LTRIM(RTRIM(FIELD_ONE)) + LTRIM(RTRIM(FIELD_TWO)) + LTRIM(RTRIM(FIELD_THREE)) 
FROM copyfrom 

これは1つの列を返すでしょう。

3

少なくとも1つのフィールドがNULLの場合、 '+'フィールドを連結すると結果が返されないことに注意してください。それぞれ

+0

+1を連結してNULL値を連結しました – Curt

+0

ありがとうございました:) – Deviland

関連する問題