日期:2014-05-17  浏览次数:20698 次

求教多表关联批量更新
现有 A,B,C三个表,现在要做的就是把 B表中start_time字段,减去C表中的start_time字段,然后填入到A表的relative_starttime字段中去,其中B表通过C.ID关联,即 b.c_id = c.id,A表与B表能过B的ID关联(A.B_ID = B.ID),
其中B表的start_time要在系统时间的一个小时之内,请问各位大神,这个SQL该怎么写?
------解决方案--------------------

MERGE INTO A 
  USING (SELECT B.ID,B.start_time-C.start_time tmp_time FROM B,C WHERE B.c_id = C.id ) TMPB
  ON (A.ID = TMPB.ID)
WHEN MATCHED THEN 
  UPDATE
    SET A.relative_starttime = TMPB.tmp_time