2017-06-27 6 views
1

Ich habe null-Werte in Tabelle 1:MySQL Aktualisierung fehlender Wert in einer Tabelle der Werte aus einer anderen Tabelle mit

DATE_  ID  Sales 
2007-01  1  NULL 
2007-02  2  100 
2007-03  3  200 
2007-04  4  NULL 

und die in Tabelle 2 die ich habe:

DATE_  ID  Sales 
2007-01  1  99 
2007-02  2  100 
2008-03  3  200 
2009-04  4  300 

Wie kann ich aktualisieren die Nullwerte in Tabelle eins mit übereinstimmendem DATE_ und ID. I verwendet

update table1 
set table1.sales = table2.sales 
where table1.DATE_ = table2.DATE_ 
and table1.ID = table2.ID 

aber ich habe einen Fehlercode: 1054, undefinierte Spalte 'table2.ID' in 'where clause'. Ich benutze MySQL.

+0

muss es ein Tippfehler oder etwas ähnliches sein. Es sollte funktionieren. –

+0

Setzen Sie die Namen in Anführungszeichen. Ich vermute, die Unterstreichung ist das Problem. – nicomp

Antwort

0

können Sie eine innere joij

update table1 
    inner join table2 on table1.DATE_ = table2.DATE_ 
    and table1.ID = table2.ID 
    and table1.sales is null 
    set table1.sales = table2.sales 
0

verwenden Sie können wie etwas versuchen:

update table1 set table1.sales = (select table2.sales where table1.DATE_ = table2.DATE_ and table1.ID = table2.ID) 
Verwandte Themen