Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: CSV Export Daten filtern bzw. gruppieren

CSV Export Daten filtern bzw. gruppieren 6 Jahre 3 Monate her #119

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Anfrage per Email erhalten!

Hallo Forum,

Folgende Situation liegt vor:
Wir haben eine mySQL Datenbank (einer WaWi) mit mehreren Tabellen. In einer der Tabellen (Artikel) werden die Artikel mit den Artikelnummern und anderen Daten gespeichert. In einer anderen Tabelle(VKPreise)
werden die Preise für diese Artikel vorgehalten. Die Zuordnung erfolgt über einen Schlüssel in der jeweiligen Tabelle. Um eine Exportdatei im CSV-Format zu erstellen, habe ich zunächst eine eigene Datenbank angelegt, in die ich die Daten der zu exportierenden Artikel mittels FlowHeater übertrage.

Zuerst übertrage ich alle gewünschten Artikel (mit Status "Onlineartikel") aus der Tabelle Artikel in meine Datenbank. Anschließend übertrage ich aus der Tabelle VKPreise die Preise der jeweiligen Artikel als Update. Das funktioniert soweit auch, aber: Da es Artikel mit Staffelpreisen gibt, existieren zu einigen (nicht zu
allen) Artikelnummern mehrere Datensätze mit Preisen in der Tabelle VKPreise. Die Tabelle VKPreise hat also zu dem Schlüssel aus der Tabelle Artikel mehrer Datensätze, für den jeweiligen Staffelpreis angelegt. Beim Update geht Flowheater hin und setzt immer den letzten gefundenen Preis (Datensatz) ein. Dies ist aber immer der Preis für die größte Abnahmemenge. Somit wird immer der niedrigste Preis in meine eigene Datenbank übertragen.

Gibt es eine Möglichkeit entweder zu sagen, dass bei der Übertragung immer nur der erste gefundene Eintrag für den jeweiligen Datensatz genutzt wird? Oder kann man vielleicht einen Filter setzen, der nur den Datensatz nimmt in dem bei Menge die Zahl 1 steht?

Mit freundlichen Grüßen
Peter Berthold
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: CSV Export Daten filtern bzw. gruppieren 6 Jahre 3 Monate her #120

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Berthold,

den Umweg über die separate Datenbank (Tabelle) können Sie sich sparen, Sie brauchen lediglich nur eine FlowHeater Definition!

Geben Sie dazu auf der READ Seite im SQL Select Statement die zweite Tabelle über einen Join mit an.

z.B. select * from Artikel inner join Preis on artikel.artnr = preise.artnr order by artikel.artnr

das Order By am Ende des SQL Select Statements ist in diesem Fall unbedingt notwendig, da wir im FlowHeater gleich den GroupBy Heater verwenden.

Ziehen Sie nun den GroupBy Heater auf den Designer und verbinden das Artikel Schlüsselfeld mit dem GroupBy Heater. Hiermit werden gleiche Artikel auf der WRITE Seite zu einem Datensatz zusammengefasst. Damit Sie nur den kleinsten bzw. größten Betrag exportieren verwenden Sie für dieses Feld den MIN bzw. MAX Heater mit eingeschalteter Gruppierungsfunktion. Die Gruppierung können Sie über einen Rechtsklick auf den MIN bzw. MAX Heater über den Menüeintrag GroupBy aktivieren.

Schauen Sie sich hierzu auch mal folgendes Beispiel an. Daten gruppieren und summieren
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: CSV Export Daten filtern bzw. gruppieren 6 Jahre 3 Monate her #121

  • Peter Berthold
  • Peter Bertholds Avatar
  • Offline
  • New Member
  • Beiträge: 11
Hallo Herr Stark,
zunächst vielen Dank für die Hilfestellung! :)
Leider kann ich auf die "Zwischen-Datenbank" nicht verzichten, da ich auch noch aus anderen Datenquellen Daten dort hinein migrieren muss.

Die Tabelle mit den Artikeln heißt: sg_auf_artikel
(Aus dieser Tabelle werden insgesamt 12 Felder übernommen)

Die Tabelle mit den Preisen heißt: sg_auf_vkpreis
(Aus dieser Tabelle werden insgesamt 3 Felder übernommen)

Das Schlüsselfeld, das von der ersten Tabelle in die zweite übernommen wurde heißt: SG_AUF_ARTIKEL_PK

Ich habe das SQL-Statement entsprechend Ihres Beispiels wie folgt eingegeben:

select * from sg_auf_artikel inner join sg_auf_vkpreis on sg_auf_artikel.SG_AUF_ARTIKEL_PK = sg_auf_vkpreis.SG_AUF_ARTIKEL_PK order by sg_auf_artikel.SG_AUF_ARTIKEL_PK

Auch ganz ohne zusätzliche Heater erhalte ich folgende Fehlermeldung, wenn ich einen Testlauf mache:

"Unknown column 'sg_auf_vkpreis.SG_AUF_ARTIKEL_PK' in 'on clause'"

Ich habe schon kontrolliert, ob ich vielleicht einen Tippfehler eingebaut habe, aber das ist nicht der Fall.
Und das genannte Feld ist tatsächlich unter gleichem Namen in beiden Tabellen vorhanden.

mit freundlichen Grüßen
Peter Berthold :)
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: CSV Export Daten filtern bzw. gruppieren 6 Jahre 3 Monate her #122

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Berthold,

wenn Sie die zwischen Datenbank (Tabelle) eh benötigen können Sie das Ganze auch direkt über diese Tabelle abwickeln.

Verwenden Sie dann als SQL SELECT Statement

z.B. select * from IhreTabelle order by ArtikelNr

Den GroupBy sowie den MIN bzw. MAX Heater können Sie hierauf genauso anwenden wie bereits beschrieben.

Wegen den doppelten SQL Feldnamen können Sie alternativ auch den SQL SELECT so abändern, dass Sie nicht

Select * from …

Verwenden sondern die SQL Felder inkl. Tabellennamen separat im SQL SELECT angeben.

z.B. select sg_auf_artikel.SG_AUF_ARTIKEL_PK, sg_auf_artikel.Feld2,
sg_auf_vkpreis.SG_AUF_ARTIKEL_PK, sg_auf_vkpreis.Feld2, ... from ...


Zu Ihrer Fehlermeldung) Heißt das PrimaryKey Schlüsselfeld in der Preis Tabelle wirklich auch „SG_AUF_ARTIKEL_PK“? Die Fehlermeldung deutet eigentlich darauf hin, dass das Feld hier nicht so heißt bzw. existiert!
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: CSV Export Daten filtern bzw. gruppieren 6 Jahre 3 Monate her #127

  • Peter Berthold
  • Peter Bertholds Avatar
  • Offline
  • New Member
  • Beiträge: 11
Hallo Herr Stark,

das Feld SG_AUF_ARTIKEL_PK existiert in beiden Tabellen.
Nur ist es in der Preistabelle nicht als Schlüsselfeld vorgegeben. (Wenn ich den Sinn richtig verstanden habe, dann kann es ja auch nicht als Schlüsselfeld dort fungieren, weil in mehreren Datensätzen gleiche Feldinhalte vorkommen.)
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: CSV Export Daten filtern bzw. gruppieren 6 Jahre 3 Monate her #128

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Berthold,

mit dem Join teilen Sie dem MySQL Datenbank Server lediglich mit, dass er die Tabellen anhand dieser 2 Felder verknüpfen und daraus die die Ergebnismenge liefern soll. Es gehen nicht nur 1:1 sondern auch 1:n sowie n:n Beziehungen!

Hier finden Sie die Offizielle Beschreibung zu MySQL Joins.
http://dev.mysql.com/doc/refman/5.1/en/join.html

Da das Feld in der Preis Tabelle ebenfalls am Ende mit PK (steht vermutlich für PrimaryKey) angegeben wurde liegt die Vermutung nahe, dass das hier ein Fehler ist.

Können Sie mal einen Screenshot (oder ähnliches) posten wo ersichtlich ist wie die Tabellen genau angelegt sind?
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: 11 Monate 6 Tage her von FlowHeater-Team.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: CSV Export Daten filtern bzw. gruppieren 6 Jahre 3 Monate her #129

  • Peter Berthold
  • Peter Bertholds Avatar
  • Offline
  • New Member
  • Beiträge: 11
:blush: Das kommt davon, wenn man mit Brille unbedingt eine hohe Auflösung auf dem Notebook-Monitor haben muss...
Ist mir echt peinlich, aber ich hatte doch einen Fehler im Feldnamen: statt _PK gehört dort _FK rein.

So funktioniert es dann auch.

Vielen Dank jedenfalls für Ihre Geduld und Unterstützung.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.083 Sekunden