![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: Quickreport
Report erstellen - wie Query gestalten
Moin,
ich bin gerade dabei einen Quickreport auf Datenbank umzustellen. Dazu würde ich gerne die TQRDBText-Komponente benutzen. Die bietet als Property ein DataSet(meine Query), DataField und Mask (für die leidige Float-Formatierung). Nun habe ich in meiner DB-Hierarchie den Fall, dass ich immer mehrere Ergebnisse gleicher Hierarchie bekomme.
Code:
UpIndex ist der Index der jeweils höheren Hierarchie.
SELECT
Table1.ID, Table1.Param1, Table2.ID Table2.Param1, Table2.Param2, Table3.Param1, Table3.Param2 FROM Table1, Table2, Table3 WHERE Table1.UpIndex = 17 AND Table2.UpIndex = Table1.ID AND Table3.UpIndex = Table2.ID Mein Problem: Table3 enthält Messwerte in Param2, die aus verschiedenen Messungen (Table3.Param1) stammen. Damit sind die Felder nicht eindeutig und ich kann sie nicht direkt zuweisen. Brauche ich für jede Ausgabekomponente eine eigene Query? Denn das wird zur Laufzeit erzeugt und kann theoretisch viele Queries bedeuten. Und die müssen ja so lange gefüllt bleiben, bis der Report ausgegeben wird. Oder kann man das so verfeinern, dass ich für jedes Table3.Param1 ein eigenes Feld Table3.Param2 erzeugen kann? Danke, Messie Edit: SQL mit Code-Tags statt Quote-Tags versehen. Sieht beides nicht toll aus :wink: Edit2: jetzt ist es lesbarer |
AW: Report erstellen - wie Query gestalten
Ich möchte die Frage noch mal etwas verfeinern: kann ich in der Query temporäre Fields erzeugen, die ich dann nochmal mit einer Art eigenem Select füllen kann?
Ich habe nämlich festgestellt, dass unterschiedliche Queries in so einem Report auch ihre Fallstricke haben. Grüße, Messie |
AW: Report erstellen - wie Query gestalten
hi,
Zitat:
|
AW: Report erstellen - wie Query gestalten
Zitat:
ich probier' es mal.... |
AW: Report erstellen - wie Query gestalten
Ich weiß jetzt nicht ob FB das kann:
Code:
Gruß
select a.feld1,b.feld2
from tabelle a ,(select id,feld2 from tabellex) b where a.id=b.id K-H |
AW: Report erstellen - wie Query gestalten
Kann FB ist aber nicht besonders performant. ( in anderen DBMS aber auch nicht)
|
AW: Report erstellen - wie Query gestalten
so was ähnliches kann FB, wenn das Ergebnis eindeutig ist, z. B.
select a.field1, a.field2, (select field1 from b where b.field1=a.field3) as field3 from a where a.field1='123' Würde das innere select mehrere Datensätze liefern, kommt es zu einer Fehlermeldung. man kann so aber auch mit den Aggregrat Funktionen arbeiten (sum, max, min, avg) oder andere Berechnungen anstellen. select a.field1, a.field2, (select sum(field1) from b where b.field1=a.field3) as field3 from a where a.field1='123' Gruß Jörg |
AW: Report erstellen - wie Query gestalten
Zitat:
|
AW: Report erstellen - wie Query gestalten
[OT]
Zitat:
Gruß K-H [/OT] |
AW: Report erstellen - wie Query gestalten
Zitat:
Code:
select a.feld1,b.feld2
from tabelle a ,tabellex b where a.id=b.id Zitat:
Und was hat das mit der Frage des TE zu tun? Vielleicht habe ich die nicht verstanden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz