test1
テーブルのいくつかの行を更新したいと思います。ColumnB
10 11,12,13,14 でなければなりません ....しかし、私のテーブル
例えば:
ColumnA は親ノードです。ColumnA+ColumnB は主キーです。たとえば、ColumnA は CustomerNumber です。ColumnB はお客様の注文番号です。
create table test1(ColumnA int, ColumnB int, ColumnC int);
Insert Into test1 Values(1, 9,123);
Insert Into test1 Values(1, 10,0);
Insert Into test1 Values(1, 10,0);
Insert Into test1 Values(1, 10,0);
Insert Into test1 Values(1, 10,0);
Insert Into test1 Values(2, 12,128);
Insert Into test1 Values(2, 12,0);
Insert Into test1 Values(3, 11,145);
Insert Into test1 Values(3, 11,0);
それはすべきではありません:
以下のようになります。
私の動作しないコード:
update a set a.ColumnB=a.ColumnB+1
from test1 a
inner join test1 b
on b.ColumnA=a.ColumnA
and a.ColumnC=0;
select * from test1;
どうやってやるの?最初のテーブルを 2 番目のテーブルに更新する方法。