我想更新test1
表中的一些行。ColumnC
在 test1 中为零。
例如:
ColumnA 是父节点。ColumnA+ColumnB 是主键。
create table test(ColumnA int, ColumnB int, ColumnC int);
Insert Into test Values(1, 10,0);
Insert Into test Values(2, 11,0);
Insert Into test Values(3, 14,0);
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(2, 10,128);
Insert Into test1 Values(2, 11,0);
Insert Into test1 Values(3, 13,145);
Insert Into test1 Values(3, 14,0);
我想要的结果:
我不工作的代码:
update test1 a
set a.ColumnC = b.ColumnC
from test1 as b where convert(nvarchar,b.ColumnA)+
convert (nvarchar,b.ColumnB)in(select
convert(nvarchar,c.ColumnA)+
convert (nvarchar,c.ColumnB) ColumnC
from test as c);
select * from test1
我怎样才能做到这一点?