![]() |
mit sql über zeit gruppieren
Hallo!
Also ich habe folgendes Problem. Meine Tabelle sieht etwa so aus: Datum (DateTime) ; Stk (integer); Preis (currency); Artikel (String); usw.. Die Tabelle wird untertags gefüllt und jede Bonierung mit dem Datum u. Uhrzeit versehen. Nun will der Kunde folgende Auswertung: Er will wissen wieviel Stück und welcher Artikel in einem definierten Zeitraster verkauft wurden. oder einfach gesagt Umsatzstatistik über den Tag gesehen. Beispiel: 30 Minuten 17:00 - 17:30 xxStk xxArtikel xxPreis 17:00 - 17:30 xxStk yyArtikel xxPreis 17:30 - 18:00 xxStk xxArtikel xxPreis 17:30 - 18:00 xxStk yyArtikel xxPreis Hoffe ich hab mich halbwegs verständlich ausgedrückt. Hat jemand einen Lösungvorschlag wie ich das mit einem Sql-Befehl hinbekomme. Verwende Delphi 5 mit Bde und Paradox. Bitte - Danke falls mir jemand helfen kann. |
Re: mit sql über zeit gruppieren
Hab das hier gerade mit FireBird nachgespielt und kam mit...
Code:
zum scheinbar gewünschten Ergebniss...
select '2004-08-26 22:00' startzeit, '2004-08-26 22:30' endezeit, sum(stk) stk, artikel, preis
from test where datum between '2004-08-26 22:00' and '2004-08-26 22:30' group by artikel, preis Hoffe das hilft. Grüsse! |
ist noch nicht ganz das was ich suche
Danke erstmal für deine schnelle Antwort.
Also die Gruppierung stimmt so mal. Nur habe ich das Problem das der Kunde eingibt er will das vom ganzen Tag (zb: 08:00 bis 16:00) im halb Stunden Takt sehen. Muss ich dann 16 Queries ausführen oder geht das mit einer Query. Das eigentliche Problem ist ja, daß ich das ganze dann in einem Report zu Papier bringen soll. :wall: Und ich nicht weiss wie? |
Re: mit sql über zeit gruppieren
Ich würde mir dazu eine temporäre Tabelle anlegen und die Daten über entsprechend viele Querys-Ausführungen (soviele wie halt Zeitfenster gewünscht sind), nacheinander dort hineinschreiben. Im Anschluss kannst du deren Inhalt recht einfach über z.B. QuickReport ausgeben.
So nach den Schema: delete from Temp.Tabelle for i:= 1 to n do insert (select daten für fenster1 from Quelle where Zeitfenster...) in Temp.Tabelle select * from Temp.Tabelle Die Temp.Tabelle kann man ja nach Belieben create'n / drop'n, oder beibehalten... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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