Sql 从其他表更新相应的值

Sql 从其他表更新相应的值,sql,oracle,Sql,Oracle,我有两个名为sales和login的表。我的表结构如下所示。有时,我的程序会更新sales表列userid中的custid而不是userid,但sales表中的logid更新正确。我有另一个表tbl_日志,如下所示。我想使用tbl_日志根据logid更新销售表userid 销售表 日志表 精确输出 要根据日志表中的值更新sales中的值,请执行以下操作: UPDATE sales S SET S.Fld_user_id = (SELECT l.Fld_user_id

我有两个名为sales和login的表。我的表结构如下所示。有时,我的程序会更新sales表列userid中的custid而不是userid,但sales表中的logid更新正确。我有另一个表tbl_日志,如下所示。我想使用tbl_日志根据logid更新销售表userid

销售表 日志表 精确输出
要根据日志表中的值更新sales中的值,请执行以下操作:

UPDATE sales S 
SET S.Fld_user_id = (SELECT l.Fld_user_id 
                     FROM logSales l 
                     WHERE l.Fld_log_id  = s.Fld_log_id);

要想让更新工作起来,一定要仔细检查代码,看看你把值放错了什么地方,否则你总是在玩追赶游戏。我用c代码插入这个值。我更正了那个代码,但我想用query更正以前的记录。
Fld_log_id  Fld_user_id
101 d2121
102 d2122
103 d2123
104 d2124
Fld_id  Fld_cust_id Fld_log_id  Fld_amount  Fld_user_id
1           S1002           101         100         d2121
2           S1003           102         121         d2122
3           S1004           103         120         d2123 
4           S1005           102         130         d2122
5           S1006           102         1234            d2122
6           S1007           102         111         d2122
7           S1008           103         21          d2123
8           S1009           103         234         d2123
9           S1010           104         31          d2124
10          S1011           104         60          d2124
UPDATE sales S 
SET S.Fld_user_id = (SELECT l.Fld_user_id 
                     FROM logSales l 
                     WHERE l.Fld_log_id  = s.Fld_log_id);