Sql 从其他表更新相应的值
我有两个名为sales和login的表。我的表结构如下所示。有时,我的程序会更新sales表列userid中的custid而不是userid,但sales表中的logid更新正确。我有另一个表tbl_日志,如下所示。我想使用tbl_日志根据logid更新销售表userid 销售表 日志表 精确输出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中的值,请执行以下操作:
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);