UPDATE with CASE with 2 tables
UPDATE t2 
  SET flag = 1, flagdate = CURRENT_TIMESTAMP
  FROM dbo.table2 AS t2
  INNER JOIN dbo.table1 AS t1
  ON t2.id = t1.id
  WHERE t1.amount &gt; 10000 
    AND (t2.flag IS NULL OR t2.flag = 0);


You can avoid the OR condition if you change the flag column to NOT NULL with default 0.