SQL Spalte mit Wert aus anderer Tabelle füllen.

CuNoah

Cadet 4th Year
Registriert
Aug. 2009
Beiträge
83
Hallo zusammen,

folgendes Problem, ich möchte ein Feld mit einem Wert aus einer anderen Tabelle füllen. Versuche es mal so zu erklären.

Tabelle1.Feld10 soll den Wert aus Tabelle2.Feld15 erhalten, die Zuordnung würde über Tabelle1.Feld1 = Tabelle2.Feld1 erfolgen.

Kann mir da jemand kurz auf die Sprünge helfen.

Danke
 
http://www.google.de/search?q=sql+join

je nach Datenbankhersteller (Microsoft,Oracle,MySql) kann der Syntax anders aussehen

Code:
update Tabelle1
set Tabelle1.Feld1 = Tabelle2.Feld1
from Tabelle1 
inner join Tabelle2
on Tabelle1.<identische Spalte> = Tabelle2.<identische Spalte>
 
Das müsste mit allen SQL-Dialekten funktionieren:

update tabelle1 set tabelle1.Feld10 = (select Feld15 from tabelle2 where tabelle2.Feld1 = tabelle1.Feld1)

Gruß, Lemmy
 
Grundsätzlich muss man sich dann aber auch fragen warum die Daten doppelt gehalten werden sollen ...
 
Erstmal Danke für die Antworten, mit dem Vorschlag von rIQ bekomm ich aktuell noch ein "SQL-Fehler: ORA-00933: SQL-Befehl wurde nicht korrekt beendet", evtl. wie geschrieben Herstellerabhängig.

Mit dem Vorschlag von Lemmy Kilmister klappt die Übernahme, ist auch Anfängerfreundlich :freaky:

Kurz zum Hintergrund der doppelten Datenhaltung, es geht hier um ein gekauftes System, eine Tabelle wird über eine Schnittstelle gefüllt, die Einträge in der zweiten Tabelle entsehen in einem späteren Schritt. Und nun braucht man noch den Wert aus der ersten Tabelle an der zweiten Stelle. Deswegen diese Frage von mir.

Vielen Dank
 
Finde ich jetzt auch nicht so ungewöhnlich. Gerade bei 'nem Umbau oder einer Migration macht man gerne mal korrelierte Updates.
 
Zurück
Oben