Я пытаюсь обновить loss_dt в таблице bacclaim до trans_dt из других таблиц bactrans по заявке_id, где loss_Dt> trans_dt - PullRequest
1 голос
/ 03 июля 2019

Я устанавливаю loss_dt в trans_dt, где loss_Dt >trans_Dt.loss_Dt в bacclaim и trans_Dt в bactrans оба имеют claimid общее

UPDATE bacclaim t1
   SET (t1.loss_dt) = (SELECT  t2.trans_dt
                         FROM bactrans t2
                        WHERE t1.claim > t2.claim)
 WHERE EXISTS (
    SELECT 1
      FROM bactrans t2
     WHERE t1.claim = t2.claim and t1.loss_dt>t2.trans_dt );

1 Ответ

0 голосов
/ 03 июля 2019

A MERGE заявление может быть то, что вы ищете:

MERGE INTO bacclaim dst
USING bactrans src
ON ( src.claimid = dst.claimid )
WHEN MATCHED THEN
  UPDATE SET loss_td = src.trans_dt
  WHERE src.loss_td > dst.trans_dt
...