通过表关联将某表若干字段的数据赋值到另外一表的对应字段:
在sybase下对应的sql如下:
update A set A.A1=B.B1,A.A2=B.B2,A.A3=B.B3 from A,B where A.id=B.Aid;
sybase的好处是提供了from子句,使得两表很容易建立关联。
若只修改阿A表的一个字段,我知道可用如下语句:
update A set A.A1=(select B.B1 from B where A.id=B.Aid);
若修改多个字段该怎样处理呢,问题困惑我好久了,非常感谢高手回答.
(另:sybase看起来好像比oracle在修改问题上效率高些,它直接建立了关联,而oracle是通过子查询)
------解决方法--------------------------------------------------------
如:update A set (A.A1,a,b1)=(select a.a1,B.B1 from B where A.id=B.Aid);
------解决方法--------------------------------------------------------
update A set (A.A1,A.A2,A.A3)=
(select B.B1,B.B2,B.B3 from B where A.id=B.Aid);