2013-12-12 2 views
0

У меня есть две таблицы с именем sales и login. Моя структура таблицы приведена ниже. Иногда моя программа обновляет custid вместо userid в столбце таблицы продаж userid, но логин правильно обновляется в таблице продаж. У меня есть следующая таблица tbl_log, показанная ниже. Я хочу обновить идентификатор таблицы продаж на основе логина, используя tbl_log.обновить соответствующее значение из другой таблицы

таблица продаж

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

Смежные вопросы