ottscho
Goto Top

SQL - Excelliste

Hallo,

ich habe eine Excelliste mit zwei Spalten, Artikelnummer und Bezeichnung.
Nun befinden sich in dieser Liste 160 Datensätze.
Diese würde ich gerne in einer Datenbank updaten.

UPDATE meine_Tabelle
SET Bezeichnung = "Wert1"  
WHERE Artikelnummer = "Wert2"  

Nun will ich ja nicht jeden einzeln Datensatz hier manuel eingeben.
Gibt es eine möglichkeit per SQL, ODBC, Excel etc. wie auch immer alle 160 Datensätze zu aktualisieren?

Danke

Gruß
ottscho

Content-Key: 155788

Url: https://administrator.de/contentid/155788

Printed on: April 19, 2024 at 07:04 o'clock

Member: Biber
Biber Nov 25, 2010 at 15:38:06 (UTC)
Goto Top
Moin ottscho,

ich kann bei deiner Anforderung irgendwie Vorteile einer "Automatisierung" durch SQL-Update-Statements noch nicht so wirklich erkennen.

Stehen denn die "neuen" Bezeichnungen der Artikel in einer real exitierenden Tabelle {Artikelnummer, Bezeichnung} ?

Sonst musst du doch wieder 57 Update-Statements von Hand bzw zu Fuss, aber auf jeden Fall mit irgendwelchen Extremitäten tippseln ...

In der Zeit hättest du doch die 160 Sätzelchen mit einem normalen Wechseln/erstzen 20x fertig und selbst mit Einzelsatz-Überschreiberei schon 10x.

Grüße
Biber
Member: ottscho
ottscho Nov 25, 2010 at 20:20:54 (UTC)
Goto Top
Nabend Biber,

Ich habe eine bestehende Tabelle mit bereits allen Artikelnummern. Nur sind von den bestehenden Artikeln einige Bezeichnungen inkorrekt und unser Kunde hat mir eine Excelliste mit den richtigen Bezeichnungen geschickt.

Nun müssen alle Artikel von Hand über das ERP bearbeitet werden, oder ich finde eine Scriptlösung;)

Viele Grüsse
Ottscho
Member: Biber
Biber Nov 25, 2010 at 20:49:42 (UTC)
Goto Top
Moin ottscho,

das hört sich schon etwas besser an, wenn ein Update einer Tabelle mit Daten aus einer anderen Tabelle erfolgen soll.
War für mich beim Lesen deiner Aufgabenstellung so nicht klar, deshalb die Rückfrage.

Und wenn ich es richtig verstanden habe, ist die eine Tabelle in einem "echten" Datenbanksystem, die Aktualisierungen in einer Exceltabelle?

Bei der pupsig kleinen Menge der Daten (<1000 Zeilen) würde ich dennoch eher Dünnbrettbohrer-Lösungen anstreben.
makros dauern länger als 5 Minuten... entfällt also.

Variante a) du hast schon irgendeine Universal-SQL-JDBC-variante auf deinem Rechner, die auch über den einfachen JdbcOdbcDriver aud Excel zugreifen kann.
Dann schaufel diese 160 Datensätze in eine neue tabell auf der gleichen Datenbankinstanz und mach dein Update mit einem ganz normalen JOIN.

Variante b)
Saug in die Datenbank diese 160-Excelsätze rein als CSV-Datei, dann weiter wie bei a)

Variante c) Erzeuge in Excel aus den beiden Datenzeilen in Spalte A & B eine dritte Spalte C mit der Formel
= "UPDATE meine_Tabelle SET Bezeichnung = '" & $A2 & "' WHERE Artikelnummer = '" & $B2 &"' ; "
--> in Zelle $C$2 eintragen und nach unten kopieren.

Diese 160 Zeilen kannst du per Copy & Paste aus Excel kopieren und auf deiner DB abfeuern.

Das wären die 3 Varianten, die weniger Zeit brauchen als ein ### mit meinen Praktikantinnen.

Grüße
Biber

[Edit] Keine Ahnung, warum das Wort "Fachgespräch" in der vorigen Zeile von der Forensoftware zensiert wird - muss ein Bug sein [/Edit]
Member: ottscho
ottscho Nov 25, 2010 at 22:17:25 (UTC)
Goto Top
Also wenn du Naomi & Naomi als Praktikantinen zur Verfügung hast, würde ich mich für die entscheiden ;) aber so werde ich wohl morgen Nummer 3 anwenden. Sollte am Schnellsten gehen.

Hätte ich auch selbst drauf kommen können. Naja...

Danke dir für deine Hilfe.

Gruß ottscho