2010-11-19 14 views
0

Ich habe einige Tabellen in meiner MySQL DB und ich muss einige andere Tabellen der Daten in diesen vorhandenen Tabellen basierend auf Daten in einer Excel-Tabelle erstellen.Erstellen Sie neue Tabellen in MySQL mit Daten aus vorhandenen Tabellen und einer Excel-Tabelle

Meine aktuellen Tabellen sind: tbl_departments tbl_classes tbl_vendors

Mein Excel-Tabelle hat eine Master-Liste alle Klassen, Lieferanten und Abteilungen zeigt. Die Daten zeigen alle Klassen und Lieferanten, die diesen Klassen zugeordnet sind, und die Abteilung, zu der die Klassen gehören.

So hat zum Beispiel die Klasse "Jeans" mehrere Reihen, die "Wrangler", "Carhartt", "Key" usw. auflisten und die Abteilung, der Jeans gehört.

Wie verwende ich die Tabelle, um eine neue Tabelle wie tbl_classes_vendors und tbl_departments_classes zu erstellen, so dass ich die Klassen durchsuchen und eine Liste von Anbietern basierend auf einer Abteilung abrufen kann?

+0

ich ein ziemlich ausführliches Beispiel mit Pentaho Kettle tat etwas sehr ähnlich wie diese http://stackoverflow.com/q/4175566/164552 – rwilliams

+0

Bezug zu erreichen: http://stackoverflow.com/q/4136609/164552 – rwilliams

+0

Diese scheint sehr ähnlich zu sein [3621798] (http://stackoverflow.com/questions/3621798) oder [8031193] (http://stackoverflow.com/questions/8031193) – arober11

Antwort

0

Normalerweise lese ich die ganze Excel-Datei in die Datenbank (ich verwende Navicat dafür, aber das ist Ihre Wahl) und dann verwende ich UPDATE und INSERT INTO ... SELECT Abfragen, um die neuen Daten zu erstellen.

+0

Da die Daten relativ einfach waren, schrubbte ich aus alle Kommas und andere anstößige Zeichen und erstellt eine saubere CSV. Dann habe ich neue Tabellen mit nützlichen Beziehungen wie classes_products und vendors_classes erstellt. – Ofeargall

+0

Eine andere Sache ... Wenn Sie darüber gestolpert sind und versuchen, '*' aus Ihren EXCEL-Daten zu entfernen, bevor Sie eine CSV-Datei über das Suchen- und Ersetzen-Fenster erstellen, müssen Sie die Tilde '~' vor die '' setzen. * sonst liest EXCEL das '*' als Platzhalter und erzwingt den angeforderten Ersatz für jeden Datensatz ... – Ofeargall