update table1 set table1.field3=table1.field3+table2.field5,table1.field4=table1.field2+table1.field3 from table1 left join table2 on table1.field1=table2.field1
你写了where后不等于的就不会加了update table1 set field3=a.field3+b.field5 ,field4 = a.field2+a.field3+b.field5 from table1 a,table2 b where a.field1=b.field1
--TRY ,沒測試 DECLARE @field3 VARCHAR(50) UPDATE T1 SET field3=field3+T2.field5, @field3=field3, field4=field2+@field3 FROM TABLE1 T1,TABLE2 T2 WHERE T1.field1=T2.field1
update table1 set field3 = table1.field3+table2.field5 , field4 = table1.field2+table1.field3 +table2.field5 from table1,table2 where table1.field1=table2.field1
update t1 set t1.f3=t1.f3+f5, f4=f2+f3 from t1 join t2 on t1.f1=t2.f1
UPDATE a SET a.field3 = a.field3 + b.field5 FROM table1 a INNER JOIN table2 b ON a.field1=b.field1
1当table2.field1=table1.field1的时候, 将table2.field5加到table1的field3中, 即table1.field3 = table1.field3+table2.field5 如果不等于的时候,则不加。 -- update t1 set field3 = field3+ case when t2.field1 is not null then t2.field5 else 0 end , field4 = field2+field3 from table1 t1 left join join table2 t2 on t2.field1=t1.field1
update a set field3=(case when a.field1=b.field1 then a.field3+b.field5 else b.field3 end), field4=(a.field2+a.field3) from table1 a,table2 b
DECLARE @table1 TABLE( field1 INT ,field2 INT ,field3 INT ,field4 INT ) DECLARE @table2 TABLE( field1 INT,field5 INT) INSERT @TABLE1 SELECT 1,2,3,4 INSERT @TABLE1 SELECT 2,3,4,5 INSERT @TABLE2 SELECT 1,10 DECLARE @field3 INT UPDATE T1 SET field3=field3+T2.field5, @field3=field3+T2.field5, field4=field2+@field3 FROM @TABLE1 T1,@TABLE2 T2 WHERE T1.field1=T2.field1 SELECT * FROM @TABLE1 /*field1 field2 field3 field4 ----------- ----------- ----------- ----------- 1 2 13 15 2 3 4 5*/
update table1 set table1.fielde3= table1.field3+table2.field5 from table2 where table2.field1=table1.field1 update table1 set table1.field4= table1.field2+table1.field3
from table1 a,table2 b
where a.field1=b.field1
DECLARE @field3 VARCHAR(50)
UPDATE T1 SET field3=field3+T2.field5, @field3=field3,
field4=field2+@field3
FROM TABLE1 T1,TABLE2 T2 WHERE T1.field1=T2.field1
field3 = table1.field3+table2.field5 ,
field4 = table1.field2+table1.field3 +table2.field5
from table1,table2
where table1.field1=table2.field1
update t1 set t1.f3=t1.f3+f5,
f4=f2+f3
from t1 join t2 on t1.f1=t2.f1
将table2.field5加到table1的field3中,
即table1.field3 = table1.field3+table2.field5
如果不等于的时候,则不加。
--
update t1
set
field3 = field3+ case when t2.field1 is not null then t2.field5 else 0 end ,
field4 = field2+field3
from table1 t1
left join join table2 t2 on t2.field1=t1.field1
field4=(a.field2+a.field3) from table1 a,table2 b
如果是不管table2.field1=table1.field1是否成立都会执行2的话,那么是8楼的语句
DECLARE @table2 TABLE( field1 INT,field5 INT)
INSERT @TABLE1 SELECT 1,2,3,4
INSERT @TABLE1 SELECT 2,3,4,5
INSERT @TABLE2 SELECT 1,10
DECLARE @field3 INT
UPDATE T1 SET field3=field3+T2.field5, @field3=field3+T2.field5,
field4=field2+@field3
FROM @TABLE1 T1,@TABLE2 T2 WHERE T1.field1=T2.field1
SELECT * FROM @TABLE1
/*field1 field2 field3 field4
----------- ----------- ----------- -----------
1 2 13 15
2 3 4 5*/
from table2 where table2.field1=table1.field1
update table1 set table1.field4=
table1.field2+table1.field3