Verwendetes Datenbanksystem: MSSQL
Hallo zusammen,
zu Beginn möchte ich erwähnen dass ich auf dem Gebiet ein Neuling bin.
Ich versuche gerade Daten von einer "temporären" Tabelle in eine andere Tabelle zu übertragen. (Identischer Aufbau)
Dies funktioniert auch soweit.
Allerdings möchte ich nun, dass nur die Zeilen übertragen werden, welche noch nicht in der zweiten
Tabelle sind. Um doppelte Einträge zu vermeiden.
Ich versuche dies über einen INNER JOIN zu realisieren, funktioniert aber nicht.
Folgend ein Teilausschnitt des Codes (vorher wird die TabelleTmp gelöscht, erstellt und befüllt - klappt prima)
INSERT INTO ZielTabelle (PackNr, SdgNr, VDepot, EDepot, ADepot, VLC, ELC, VDatum, Laenge, Breite, Hoehe, Gewicht, VolGewicht)
SELECT TabelleTmp.PackNr,
TabelleTmp.SdgNr,
TabelleTmp.VDepot,
TabelleTmp.EDepot,
TabelleTmp.ADepot,
TabelleTmp.VLC,
TabelleTmp.ELC,
TabelleTmp.VDatum,
TabelleTmp.Laenge,
TabelleTmp.Breite,
TabelleTmp.Hoehe,
TabelleTmp.Gewicht,
TabelleTmp.VolGewicht
FROM TabelleTmp
INNER JOIN ZielTabelle ON ZielTabelle.PackNr != TabelleTmp.PackNr
Ich hoffe sehr dass Ihr mir weiterhelfen könnt.
LG Elmo
Hallo,
deine "on ...
"-Bedingung ist falsch.
Verwende eine der 3 Möglichkeiten aus der Top-Antwort in Avoid duplicates in INSERT INTO SELECT query in SQL Server.
Hi,
Ich danke euch. Sensationell wie schnell ich
eine Rückmeldung erhalten habe.
IronMan die Lösung ist ja geil. Toller Hinweis.
Genau was ich gesucht habe
Ich wünsche euch beiden noch eine angenehme Woche.
LG Elmo