1. ホーム
  2. sql

[解決済み] Sqlサーバーが別のテーブルから複数のカラムを更新する

2022-02-11 20:27:08

質問

複数の列を更新する方法について多くの投稿を読みましたが、まだ正しい答えを見つけることができません。

私は1つのテーブルを持っていて、別のテーブルからこのテーブルを更新したいと思います。

Update table1 
set (a,b,c,d,e,f,g,h,i,j,k)=(t2.a,t2.b,t2.c,t2.d,t2.e,t2.f,t2.g,t2.h,t2.i,t2.j,t2.k)
from 
(
  SELECT ..... with join ... where .... 

) t2
    where table1.id=table2.id

select文(括弧の間)だけを実行すると、スクリプトは値を返しますが、updateでは動作しません。

どうすればいいですか?

TSQLは以下のものをサポートしていません。 行値コンストラクタ . 代わりにこれを使用してください。

UPDATE table1 
SET a = t2.a,
    b = t2.b,
    (...)
FROM 
(
SELECT ..... with join ... WHERE .... 
) t2
WHERE table1.id = table2.id