SQL Datenbank Tabellen update über 3 Tabellen
Hallo liebe Community.
Ich habe ein Problem und suche nach einer Lösung, glaube aber einen Denkfehler drinnen zu haben, daher dachte ich mir ich stelle hier die Frage vielleicht hat jemand einen heißen Tip für mich:
MS SQL Server 2008
Ich habe 2x 3 Tabellen die unterschiedliche Inhalte haben und quasi zusammengefasst werden sollen.
Hintergrund: die Eintragungen der Tabelle A_NEU (greift auf zwei weitere Tabellen zu) haben einen anderen Stand als von Tabelle A_ALT
Tabelle 1_Alt sieht so aus:
Lieferantennummer | A.ID | B.ID
Tabelle 2_Alt sieht so aus:
A.ID | Bezeichnung
Tabelle 3_Alt sieht so aus:
B.ID | Bezeichnung
Ergo -> Tabelle 1_Alt greift auf 2&3 zu
Tabelle 1_Neu sieht so aus:
Lieferantennummer | A.ID | B.ID
Tabelle 2_Neu sieht so aus:
A.ID | Bezeichnung
Tabelle 3_Neu sieht so aus:
B.ID | Bezeichnung
Ergo -> Tabelle 1_Neu greift auf 2&3 zu
Problem ist jetzt, dass zum Beispiel die IDs von Tabelle 1,2 und 3 _Alt unterschiedlich sein können.
Was bleibt sind die Bezeichnungen und die Lieferantennummern die haben sich nicht geändert.
Ich will somit die Alte Tabelle der Neuen hinzufügen, muß aber davor prüfen welche Einträge schon vorhanden sind und welche nicht, bzw. evtl müßen die ganzen IDs neu eingelesen werden.
Meine Idee war das ganze rückgängig zu machen, also A.ID und B.ID auszulesen und eine neue Tabelle zu haben, wo die anderen zwei nicht mehr benötigt werden, das mit ALT und NEU machen und die IDs nochmal seperat rauszuziehen.
Ist der Ansatz komplett daneben? Oder hat jemand einen Tip wie man das ansonsten lösen könnte?
Würde mich über Anregungen sehr freuen,
Citrone
Ich habe ein Problem und suche nach einer Lösung, glaube aber einen Denkfehler drinnen zu haben, daher dachte ich mir ich stelle hier die Frage vielleicht hat jemand einen heißen Tip für mich:
MS SQL Server 2008
Ich habe 2x 3 Tabellen die unterschiedliche Inhalte haben und quasi zusammengefasst werden sollen.
Hintergrund: die Eintragungen der Tabelle A_NEU (greift auf zwei weitere Tabellen zu) haben einen anderen Stand als von Tabelle A_ALT
Tabelle 1_Alt sieht so aus:
Lieferantennummer | A.ID | B.ID
Tabelle 2_Alt sieht so aus:
A.ID | Bezeichnung
Tabelle 3_Alt sieht so aus:
B.ID | Bezeichnung
Ergo -> Tabelle 1_Alt greift auf 2&3 zu
Tabelle 1_Neu sieht so aus:
Lieferantennummer | A.ID | B.ID
Tabelle 2_Neu sieht so aus:
A.ID | Bezeichnung
Tabelle 3_Neu sieht so aus:
B.ID | Bezeichnung
Ergo -> Tabelle 1_Neu greift auf 2&3 zu
Problem ist jetzt, dass zum Beispiel die IDs von Tabelle 1,2 und 3 _Alt unterschiedlich sein können.
Was bleibt sind die Bezeichnungen und die Lieferantennummern die haben sich nicht geändert.
Ich will somit die Alte Tabelle der Neuen hinzufügen, muß aber davor prüfen welche Einträge schon vorhanden sind und welche nicht, bzw. evtl müßen die ganzen IDs neu eingelesen werden.
Meine Idee war das ganze rückgängig zu machen, also A.ID und B.ID auszulesen und eine neue Tabelle zu haben, wo die anderen zwei nicht mehr benötigt werden, das mit ALT und NEU machen und die IDs nochmal seperat rauszuziehen.
Ist der Ansatz komplett daneben? Oder hat jemand einen Tip wie man das ansonsten lösen könnte?
Würde mich über Anregungen sehr freuen,
Citrone
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 189871
Url: https://administrator.de/forum/sql-datenbank-tabellen-update-ueber-3-tabellen-189871.html
Ausgedruckt am: 09.04.2025 um 16:04 Uhr
1 Kommentar
Wenn ich das richtig Verstehe:
... könnte das so gehen mit deinen Daten ?
- Bezeichnungen aus Tabelle 2_Alt nach 2 Neu - UK (Bezeichnung) beachten
- Bezeichnungen aus Tabelle 3_Alt nach 3_Neu - UK (Bezeichnung) beachten
- Tabelle 1_Alt nach 1_Neu - mit Sub-Select Abfragen um anhand der Bezeichnung(-en) die x.ID aus x_Neu zu holen
... könnte das so gehen mit deinen Daten ?