Ergebnis aus Vergleich in neue Tabelle schreiben

Blain

Grünschnabel
Hallo,
ich bin leider noch am Anfang mit SQL.... daher würde ich mich über Hilfe freuen.

Ich habe 2 Tabellen aus 2 verschiedenen CRM Systemen (alt und neu). Jetzt soll ich die Daten sauber abgleichen.

Ich habe dazu die Daten jeweils in eine eigene Tabelle geladen.
Tabelle alt, neu und sauber (die ist noch leer).

Alle Tabellen haben die selbe Struktur (email, anrede, vorname, nachname, strasse, plz, ort, land)

Ich müsste die Daten aus neu mit den Daten aus alt abgleichen und bei vorhandensein (wenn in neu vorhanden) in sauber einfügen.

Da das alte CRM besser gepflegt wurde, soll das neue CRM mit den Daten des alten überschrieben werden.

Ich habe also folgende SQL Abfrage
SELECT n.`email` FROM neu n, alt a
WHERE a.email=n.email;
Damit kann ich schon mal sehen (anhand der email adresse) welche Daten in beiden Tabellen vorhanden sind.

Wie bekomme ich jetzt die Daten bei denen es eine Übereinstimmung gibt in die Tabelle sauber?

Bin für jede Hilfe oder Anregung dankbar.
 
Zuletzt bearbeitet:
Hi,

danke für die rasche Antwort.

Das ich das wahrscheinlich mit einem Insert machen muss, habe ich vermutet. Und ein Insert an sich bekomme ich hin.

Leider weiss ich nicht wie ich das Insert zusammen mit der Auswahl verwenden kann/muss.

Denn ich möchte die Werte einer Zeile aus der Tabelle alt komplett in eine Zeile in der Tabelle sauber schreiben, wenn die Email aus der Tabelle alt in der Tabelle neu vorhanden ist.

Sorry falls ich mich kompliziert ausdrücke.... :confused:
 
SQL:
Insert into Tabelle (Felder1, Felder2)
Select Feld1 , Feld2 
From TabelleAlt

Sollte es doch vom Prinzip her sein wenn ich dich richtig versehe?

Grüsse bb
 
Zuletzt bearbeitet von einem Moderator:
ja genauso sollte es gehen - jetzt müsste ich da "nur noch" eine Abfrage einbauen

-> nur dann in sauber schreiben wenn die email adresse in alt auch in neu vorhanden ist

Könntest du mir da noch einen Tipp geben?

Danke!
 
Menno,

SQL:
INSERT INTO Sauber (
       email, anrede, vorname, 
                 nachname, strasse, plz, land )
SELECT n.email, n.anrede, n.vorname, 
       n.nachname, n.strasse, n.plz, n.land 
       FROM Neu n , Alt a 
       Where n.email = a.email;

Grüße
Biber
 
Zuletzt bearbeitet von einem Moderator:
Zurück