Datenimport + Vergleich

Hallo,

habe Schwierigkeiten mit einen Datenimport. über DTS scheint ein vergleich mit einer bereits vorhandenen Tabelle nicht zu funktionieren.
Meine Import Datei beinhaltet nur zwei Spalten (Verlgeichsspalte und die Importspalte sozusagen) die Vergleichsspalte gibt es schon in der Tabelle die Importspalte hab ich neu angelegt und ist leer.

Wie ist hier nun die beste vorgehensweise?

ich habe auch bereits versucht eine Temp Tabelle anzulegen und danach mittels SQL Script die bereits vorhandene Tabelle/Spalte zu füllen, mir gelingt es aber einfach nicht eine Bedingung zu schreiben die mir die richtige Position herausgesucht.

nochmal kurz zur Übersicht

Importdatei
artikel1 bezeichnung1
artikel2 bezeichnung2
artikel3 bezeichnung3
artikel4 bezeichnung4

vorhandene SQL Tabelle

artikel2 leer
artikel4 leer
artikel3 leer
artikel1 leer

Eine Sortierung würde mir auch nix nützen da die SQL Tabelle mehr Daten umfasst als die Import Datei

über Hilfe wäre ich dankbar.

gruß

DD


ich habe auch bereits versucht eine Temp Tabelle anzulegen und
danach mittels SQL Script die bereits vorhandene
Tabelle/Spalte zu füllen, mir gelingt es aber einfach nicht
eine Bedingung zu schreiben die mir die richtige Position
herausgesucht.

nochmal kurz zur Übersicht

Importdatei
artikel1 bezeichnung1
artikel2 bezeichnung2
artikel3 bezeichnung3
artikel4 bezeichnung4

vorhandene SQL Tabelle

artikel2 leer
artikel4 leer
artikel3 leer
artikel1 leer

Hi,

würde auch über eine Importtabelle gehen, danach muss Du halt ein Update auf die bestehende Tabelle durchführen.

UPDATE artikeltabelle a
SET a.bezeichnung = (SELECT i.bezeichnung
FROM importtabelle i
WHERE i.artikelnummer = a.artikelnummer)
–> das where braucht man nur,
–> wenn a bereits eine Bezeichnung
–> enthalten kann.
WHERE EXISTS (SELECT 1
FROM importtabelle i
WHERE i.artikelnummer = a.artikelnummer)
AND a.bezeichnung IS NULL;

Gruß
Andreas

Ach ich doof hab die Klammern vergessen nach set a.bezeichnung :smiley:
vielen Dank für die schnelle Antwort, hat bestens geklappt

gruß

DD

Hi,

würde auch über eine Importtabelle gehen, danach muss Du halt
ein Update auf die bestehende Tabelle durchführen.

UPDATE artikeltabelle a
SET a.bezeichnung = (SELECT i.bezeichnung
FROM importtabelle i
WHERE i.artikelnummer =
a.artikelnummer)
–> das where braucht man nur,
–> wenn a bereits eine Bezeichnung
–> enthalten kann.
WHERE EXISTS (SELECT 1
FROM importtabelle i
WHERE i.artikelnummer = a.artikelnummer)
AND a.bezeichnung IS NULL;

Gruß
Andreas