Ich versuche, Zeilen in Tabelle 'Data' einzufügen, wenn sie nicht bereits vorhanden sind.SQL INSERT fehlende Zeilen von Tabelle A zu Tabelle B
Für jede Zeile in Export $, ich brauche den Code, um 'Daten' für Zeilen zu überprüfen, die sowohl Periode (Datum) und eine ID (int) entsprechen - wenn die Zeilen nicht bereits vorhanden sind, sollten sie erstellt werden.
Ich bin mir ziemlich sicher, dass mein 'NOT EXISTS' Teil falsch ist - was ist der beste Weg, dies zu tun? Vielen Dank für Ihre Hilfe
IF NOT EXISTS (SELECT * FROM Data, Export$ WHERE Data.ID = Export$.ID AND Data.Period = Export$.Period)
INSERT INTO Data (Period, Performance, ID)
SELECT Period, [Return], [ID] FROM Export$
Auf den ersten Blick Ihr nicht Teil ok aussehen existiert. Was denkst du ist falsch damit? –
Was falsch ist, ist, dass dies das Einfügen von Zeilen verhindert, wenn irgendwelche (möglicherweise andere) Zeilen übereinstimmen (es könnte viele geben, die in Ordnung sind). – GilM
Oh! Versuchen Sie "fehlende Datensätze" * aus * 'Export $' einzufügen? Wenn ja, schau nach "MERGE". Auch das ',' zwischen Daten und Exports gibt es einen CROSS JOIN - ich empfehle eine solche Syntax. –