SQL INSERT fehlenden Zeilen aus der Tabelle A zu Tabelle B

Ich versuche, fügen Sie Zeilen in die Tabelle 'Daten', wenn Sie nicht bereits vorhanden sind.

Für jede Zeile im Export$, ich brauche den code zu überprüfen, 'Daten' für die Zeilen, die passen beide-Zeit (Datum) und einer ID (int) - wenn die Zeilen, die nicht bereits vorhanden sind, dann sollten Sie erstellt werden.

Ich bin mir ziemlich sicher, dass mein 'NICHT VORHANDEN' Teil ist falsch - 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 nicht existiert, Teil ok Aussehen. Was denken Sie, ist falsch mit ihm?
  • Was ist falsch ist, dass dies verhindert, dass das einfügen von Zeilen wenn eine (eventuell andere) Zeilen vergleichen (es gibt viele, die sind in Ordnung zu importieren).
  • Oh! Sind Sie versuchen, einfügen, "fehlende Datensätze" aus Export$? Wenn ja, suchen Sie MERGE. Auch die , zwischen Daten-und Ausfuhren es wird ein CROSS JOIN - ich empfehle gegen solche syntax.
InformationsquelleAutor Pat M | 2013-02-12
Schreibe einen Kommentar