说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

多表间的数据更新(在线给分)

编辑:说三道四文库 发布时间:2018-02-24 06:00
HTML文档下载 WORD文档下载 PDF文档下载
现在有三个表T1(A, B, C),
T2(C,D,E), T3(E,F,G)
三个表的关系是
T1.C = T2.C
T2.E = T3.E

现在的问题是需要把T3.G值更新到T1表中去
比如:T1.A = T3.G + T1.A

请问如写这个SQL语句?
update T1 set a=b.G+a
from T1 a,(select a.c,b.g from t2 a,t3 b where a.e=b.e) b
where a.c=b.c
或:
update t1 set a=(select top 1 g from t3 where e=(select top 1 e from t2 where c=a.c))
from t1 a
update T1 set A=T3.G + T1.A where T1.c=(select c from T2,T3 where T2.E = T3.E
  )
Update T1 Set T1.A = T3.G + T1.A FROM T1 INNER JOIN
      T2 ON T1.C = T2.C INNER JOIN
      T3 ON T2.E = T3.E
update t1 set a=t1.a+t3.g from t2,t3 where T1.C = T2.C and T2.E = T3.E
如果是有1对多的关系:
update t1 set a=t1.a+isnull((select sum(t3.g) from t2,t3 where T1.C=T2.C and T2.E=T3.E),0)
谢谢大家!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘