Abfrage über mehrere Tabellen für einen Bericht erstellen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Abfrage über mehrere Tabellen für einen Bericht erstelle

Beitrag von RobertG »

Hallo Georg,

die Adresse ergibt sich ja auch aus einer stringenten Folge: Zu einem Namen gibt es genau eine Zuordnung von Straße, Postleitzahl und Wohnort. Nur deshalb kann dabei ein Feld komplett bestückt werden. Das wäre, übertragen auf Deine Tabellen, so, als würdest Du mit "InputGood" beginnen und da dann "factory" zuordnen. Dann kommen die Datensätze von "factory" entsprechend häufig vor. - wie bei der Adresse der Ort.
Um das einmal auf die Adresse zu übertragen:
1. Gruppe wäre der Ort,
2. Gruppe wäre die Postleitzahl,
3. Gruppe wäre die Straße,
4. Gruppe wäre die Hausnummer,
Detail wäre Anrede und Name
... vorausgesetzt das Ganze sollte wirklich bis ins Kleinste, z.B. für ein komplettes Adressbuch einer Stadt, zusammengefasst werden. Vermutlich würde im ländlichen Raum Ort und Postleitzahl zusammengefasst und die Straße zusammen mit der Hausnummer und Anrede sowie Name im Bereich Detail stehen.

Die Adresse bedingt einfach Verdoppelungen, wenn ich, wie im Handbuch, so etwas für eine Bibliothek mache. Schließlich kommen die meisten Leute direkt aus der Umgebung. Du möchtest aber gerade Verdoppelungen bei "factory" vermeiden, da in der Tabelle sehr viele Werte drin stecken.

Mir ist einfach nicht klar, warum Deine Tabellen so zusammenhängen. Du scheinst ja im Hintergrund irgendeine vorhandene Datenbank zu haben, die genau das bedingt.

Alle Felder von "factory" kannst Du natürlich so zusammenfassen, wie ich das im Handbuch gemacht habe.

Gruß

Robert
Geotrans
**
Beiträge: 42
Registriert: Fr, 01.02.2013 20:40

Re: Abfrage über mehrere Tabellen für einen Bericht erstelle

Beitrag von Geotrans »

RobertG hat geschrieben: Mir ist einfach nicht klar, warum Deine Tabellen so zusammenhängen. Du scheinst ja im Hintergrund irgendeine vorhandene Datenbank zu haben, die genau das bedingt.
Vielleicht kann ich es mit dem Screenshot von meinem Formular deutlich machen was ich eigentlich erreichen will, ich bin mir ja gar nicht sicher ob meine Datenbank überhaupt richtig strukturiert ist!
In dem Transportsimulationsspiel Simutrans werden die darin enthaltenen Fabriken über verschieden Parameter definiert. Um ein ausgeglichenes Verhältnis zwischen Warenproduktion (Goods) und Warenverbrauch zu erhalten ist nötig, die verschiedenen Parameter der Fabriken anhand von verschiedenen zu berechnenden Werten anzupassen.
Der Screenshot zeigt alle Werte die der Fabrik "neu1" zugeordnet sind. Eine Fabrik kann mehre Waren (Goods) Produzieren, wird als OutputGood definiert. genauso kann sie aber auch mehre Waren verbrauchen = InputGoods.
Auch gibt es Fabriken denen ein oder mehrere Felder (factory_fields) zugeordent sind.
Dann gibt es noch Parameter die nicht in jeder Fabrik vorkommen und die ich auch nicht für die Berechnung brauche, die habe ich in "erweiterungen" ausgelagert.

Bei der Adresse weiß ich nicht ob wir von der gleichen Stelle im Handbuch reden, ich meinte in der Abfrage Leser_Anschrift folgendes:

Code: Alles auswählen

IFNULL( "Geschlecht"."Adressanrede", '' ) || CHAR( 13 ) || "Leser"."Vorname" || ' ' || "Leser"."Nachname" || CHAR( 13 ) || IFNULL( "Strasse"."Strasse" || ' ' || "Adresse"."Nr", '' ) || CHAR( 13 ) || IFNULL( "Adresse"."Land" || ' ', '' ) || IFNULL( "Postleitzahl"."Postleitzahl" || ' ', '' ) || IFNULL( "Ort"."Ort", '' )
Übrigens vielen vielen Dank für das tolle Handbuch!!! :D Hätte nur einen kleinen Verbesserungsvorschlag, häufig wird auf den Absatz "Referenz nicht gefunden" verwiesen, leider ist der nicht im Inhaltsverzeichnis zu finden und ich suche immer eine Weile bis ich ihn wieder gefunden habe.
Dateianhänge
Formular.png
Formular.png (76.68 KiB) 1436 mal betrachtet
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Abfrage über mehrere Tabellen für einen Bericht erstelle

Beitrag von juetho »

Geotrans hat geschrieben:Übrigens vielen vielen Dank für das tolle Handbuch!!! :D Hätte nur einen kleinen Verbesserungsvorschlag, häufig wird auf den Absatz "Referenz nicht gefunden" verwiesen, leider ist der nicht im Inhaltsverzeichnis zu finden und ich suche immer eine Weile bis ich ihn wieder gefunden habe.
Dein Lob für das Handbuch kann ich nur bestätigen, auch wenn ich einzelne Teile anders geschrieben hätte. Aber mir ist bewusst, dass jeder Autor andere Vorlieben hat und Schwerpunkte setzt; außerdem musste Robert das Handbuch Anfang 2012 unter großem Zeitdruck erstellen, damit es überhaupt existierte.

Das Problem "Referenz nicht gefunden" hat nichts mit einem bestimmten Absatz oder Querverweis zu tun, sondern tritt ständig auf: Die Kapitel des Handbuchs werden einzeln geschrieben und enthalten innerhalb eines Kapitels korrekte Querverweise. Aber Querverweise auf andere Kapitel sind anscheinend schief gegangen und nach dem Zusammenfassen der einzelnen Kapitel in ein "Globaldokument" möglicherweise auch Querverweise innerhalb eines Kapitels. (Ich habe irgendwann aufgehört, nach Regeln über funktionierende oder nicht gefundene Referenzen zu suchen.) In der Neufassung des Handbuchs, die Ende März erscheinen soll, will Robert dieses Problem lösen.

Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Abfrage über mehrere Tabellen für einen Bericht erstelle

Beitrag von RobertG »

Hallo Georg,

ich habe mir fast so etwas gedacht. Das Ganze erinnerte mich von den Beispielen her an Railroad-Tycoon, das einzige Spiel, das ich eine Zeit lang auch gerne einmal am PC gespielt habe.
Für Deine "Goods" braust Du irgendwo eine Beziehung zwischen den Waren, die geliefert werden und denen, die daraus entstehen. Beispiel für Railroad-Tycoon: Aus Eisen und Kohle macht das Stahlwerk Stahl. Aus Stahl und Obst bzw. Stahl und Kaffee macht die Verpackungsindustrie "Lebensmittel". Diese Beziehungen werden durch Deine Tabellenstruktur nicht geklärt. Das könnte z.B. so eine Tabelle sein:
ID factory_ID Ingood_ID_1 Ingood_ID_2 Ingood_ID_3 Outgood_ID_1 Outgood_ID_2 Outgood_ID_3
Irgendwie musst Du diese Beziehung zueinander definieren. Entweder eben über einen gemeinsamen Datensatz, in dem einmal bei Ingood Eisen und Kohle und bei Outgood Stahl für eine Fabrik steht, bei einer anderen Fabrik Ingood mit Stahl und Kaffee und Outgood mit Lebensmittel steht.

Allerdings fehlt mir dafür im Moment der frie Kopf.

Gruß

Robert
Geotrans
**
Beiträge: 42
Registriert: Fr, 01.02.2013 20:40

Re: Abfrage über mehrere Tabellen für einen Bericht erstelle

Beitrag von Geotrans »

Hallo Robert,
vielen Dank für Deine Hilfe, ich denke auch das neue Handbuch ist deutlich wichtiger :D
Immerhin habe ich jetzt eine Idee für eine Lösung, in dem ich über Abfragen die Zeilen zusammen fasse wie hier viewtopic.php?f=8&t=61075#p227776 dargestellt. Das hat auch den großen Vorteil das ich dann auch schon einen großen Teil meiner Formatierung erledigt habe.

Gruß, Georg
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Abfrage über mehrere Tabellen für einen Bericht erstelle

Beitrag von juetho »

Geotrans hat geschrieben:ich denke auch das neue Handbuch ist deutlich wichtiger
Nicht nur. Mir wurde gesagt, es soll auch ein "natürliches Leben" (ohne www) geben. Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Antworten