我想更新test1
表中的一些行。ColumnB
必须是 10 11,12,13,14 .... 但是我的桌子
例如:
ColumnA 是父节点。ColumnA+ColumnB 是主键。例如 ColumnA 是 CustomerNumber。B 列是客户的订单号。
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;
我怎样才能做到这一点?如何将我的第一个表更新为第二个表。