Hallo Gemeinde,
ich sitze seit einigen Tagen an folgendem Problem:
Ich habe 2 gleichaufgebaute Tabellen mit zum Teil gleichem Inhalt, die ich nun zusammenführen möchte.
In beiden Tabellen gibt es neben der ID (auto increment) auch noch eine Spalte mit einer eindeutigen Nummer pro Eintrag.
Nun soll folgendes passieren:
Falls in der Zieltabelle (Target) diese eindeutige Nummer bereits existiert, sollen einige Spalteneinträge mittels der Daten aus der Vorlagetabelle (Source) aktualisiert (UPDATE) werden;
falls in der Zieltabelle diese eindeutige Nummer NICHT existiert, soll aus der Vorlagetabelle (Source) die jeweilige gesamte Zeile hinzugefügt (INSERT) werden.
Gibt es eine Lösung in Form von
??
(was, glaube ich, leider nur bei SQL und nicht bei MySQL funktioniert)
Ich würde mich über einen Lösungsansatz echt freuen!
Gruß estebu
ich sitze seit einigen Tagen an folgendem Problem:
Ich habe 2 gleichaufgebaute Tabellen mit zum Teil gleichem Inhalt, die ich nun zusammenführen möchte.
In beiden Tabellen gibt es neben der ID (auto increment) auch noch eine Spalte mit einer eindeutigen Nummer pro Eintrag.
Nun soll folgendes passieren:
Falls in der Zieltabelle (Target) diese eindeutige Nummer bereits existiert, sollen einige Spalteneinträge mittels der Daten aus der Vorlagetabelle (Source) aktualisiert (UPDATE) werden;
falls in der Zieltabelle diese eindeutige Nummer NICHT existiert, soll aus der Vorlagetabelle (Source) die jeweilige gesamte Zeile hinzugefügt (INSERT) werden.
Gibt es eine Lösung in Form von
Code:
MERGE Target AS T USING Source AS S ON (T.EmployeeID = S.EmployeeID) WHEN NOT MATCHED BY TARGET THEN INSERT(EmployeeID, EmployeeName) VALUES(S.EmployeeID, S.EmployeeName) WHEN MATCHED THEN UPDATE SET T.EmployeeName = S.EmployeeName
(was, glaube ich, leider nur bei SQL und nicht bei MySQL funktioniert)
Ich würde mich über einen Lösungsansatz echt freuen!
Gruß estebu
Kommentar