PDA

Vollständige Version anzeigen : 2 Tabellen vergleichen und Daten ersetzen


Alexandra, die zweite
02.10.2002, 09:12
Hallo!

Ich habe 2 Tabellen. Tabelle1 enthält u.a. die Felder "Seriennummer" und "eingebaute_Seriennummer". Tabelle2 enthält die Felder "alte_Seriennummer" und "neue_Seriennummer"

Es geht jetzt darum, dass in Tabelle2 geschaut wird, welcher Wert in "alte_Seriennummer" steht, dieser Wert im Feld "eingebaute_Seriennummer" in Tabelle1 gesucht und dann durch den entsprechenden Wert aus dem Feld "neue_Seriennummer" aus Tabelle2 ersetzt wird

Datenbanktechnisch und sowieso totaler Blödsinn, klar, geht aber nicht anders (geht hier um Datenübernahme und dergleichen)

Ich hoffe auf hilfreiche Tipps!

Gruß,
Alex

Steffen
02.10.2002, 10:14
Hallo Alex!

Vielleicht hilft Dir folgender SQL-Code weiter.


UPDATE
tblTabelle1 RIGHT JOIN tblTabelle2 ON
tblTabelle1.eingebaute_seriennummer = tblTabelle2.alte_seriennummer
SET
tblTabelle2.alte_seriennummer = [neue_seriennummer];


Ich weiß aber nicht ob es das war was Du gesucht hast.

Steffen

Alexandra, die zweite
02.10.2002, 15:37
hi,

prinzipiell hilft das ein wenig. Ich hab daraus mal folgendes gemacht ...

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre>
UPDATE Tabelle1 RIGHT JOIN Tabelle2 ON
[Tabelle1].[eingebaute_seriennummer]=[Tabelle2].[alte_seriennummer]
SET
Tabelle1.eingebaute_seriennummer = [Tabelle2].[neue_seriennummer];</pre></div>

Dadurch werden die Daten im Feld "eingebaute_Seriennummer" in Tabelle1 ersetzt (die alte Seriennummer steht jetzt drin, rein soll die neue). Bei deinem String war's so, dass die Daten in Tabelle2 geändert werden, die sollen aber unverändert bleiben.

Das funktioniert auch prinzipiell. Allerdings ist es jetzt so, dass, wenn es die alte Seriennummer nicht in Tabelle1 gibt, ein neuer Datensatz angelegt wird. Dort landet dann die neue_Seriennummer im Feld "eingebaute_Seriennummer" und die restlichen Felder in Tabelle1 bleiben leer.

Kann ich noch irgendwie verhindern, dass ein neuer Datensatz angelegt wird, wenn es die alte Seriennummer, die aus Tabelle2 ausgelesen wird, in Tabelle1 nicht gibt?

Gruß,
Alex

www.gyrok.com
31.01.2005, 13:34
Hallo Alex, bei mir funktioniert es mir INNER JOIN anstatt RIGHT JOIN!

Gruß, Heiko
www.gyrok.com