2017-02-22 3 views
0

Ich habe zwei Tabellen, Tabelle 1 und 2. Ich möchte 1 Informationen Tabelle aktualisieren, basierend auf Tabelle 2 Zum Beispiel korrekte AA in Tabelle 1 von 10 bis 30.SQL-Tabellen Probleme Joining

Was dert Soll ich schreiben?

Danke,

enter image description here

+0

Mysql ...................... –

+0

Bitte erläutern Sie, was Sie zu tun versuchen. Es ist nicht so offensichtlich, wie Sie vielleicht denken. – GurV

+0

'update a gesetzt a.Column2 = b.Column2 aus Table1 eine innere Verbindung Table2 b auf a.Column1 = b.Column1' oder so? Nicht ganz so vertraut mit MySQL (deshalb stelle ich das nicht als eine Antwort dar), aber so würde es in MS SQL gemacht werden. – user2366842

Antwort

1

Sie wollen nicht eine Verbindung von dem, was ich sagen kann, tun, aber stattdessen sollten Sie ein Update tun. Es wird etwas komplizierter, wenn Sie Daten aus einer anderen Tabelle verwenden, anstatt die Rohdaten direkt in die Abfrage einzugeben.

UPDATE Table1 t1, 
    Table2 t2 
SET t1.num = t2.num 
WHERE t1.name == t2.name; 

nicht der genaue Code natürlich, weil die Frage und Tabellen sind etwas vage, aber ich glaube, das ist die richtige Richtung.

+0

Danke, ich denke, das sollte funktionieren. –

0

Update Versuchen Sie es mit einem Join.

UPDATE TABLE1 ein JOIN TABLE2 b ON a.join_colA = b.join_colA
SET a.numberColumn = b.numberColumn

Hier Spalte join_colA ist Ihre erste Spalte numberColumn Ihre anderen Wertspalte wäre.

0

ich dieses Problem tritt in 3 lösen würde

Schritt 1: Verknüpfen Sie die Tabellen
Schritt 2: Aktualisieren Sie die NULL-Werte aus Tabelle 1
Schritt 3: Löschen Sie die unnötige Spalte

Select A.*, B.Column2 as column3 from A 
left join B 
on A.Column1=B.Column1 


update table1 
set column3= column2 

alter table table1 
drop column column2 

Ermitteln Sie die Syntaxfehler, die auftreten können