2013-12-12 95 views
0

我有兩個表名爲sales和login.My表結構如下所示。有時我的程序更新銷售表列userid中的custid而不是userid,但logid在銷售表中正確更新。我有下面顯示的另一個表tbl_log。我想使用tbl_log更新基於logid的銷售表用戶標識。更新其他表的相應值

銷售表

Fld_id Fld_cust_id Fld_log_id Fld_amount Fld_user_id 
1 S1002 101 100 d2121 
2 S1003 102 121 S1003 
3 S1004 103 120 d2123 
4 S1005 102 130 d2122 
5 S1006 102 1234 S1006 
6 S1007 102 111 d2122 
7 S1008 103 21 d2123 
8 S1009 103 234 S1009 
9 S1010 104 31 d2124 
10 S1011 104 60 S1011 

日誌表

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 
+0

Appart酒店從得到的更新工作,確保通過代碼,看看你是把價值觀錯了,否則你將永遠打趕上。 –

+0

我正在使用C#代碼來插入此值。我糾正了這個代碼。但我想用查詢來糾正以前的記錄。 – user3085540

回答

0

更新基於你做日誌表中的值在銷售值:

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); 

sqlfiddle demo