Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#2

AW: [SQL] Zwischensummen

  Alt 3. Apr 2022, 16:58
ich würde das in etwa so machen

-erzeugen eine sp, die deine positionen zurückliefert mit suspend so wie du die brauchst
-die relevanten datensätze per for select in die return variablen packen und nach jedem record ein suspend
(for select ..... into ..... do begin ...... suspend; ..... end vereinfacht
-ein mal am anfang deine zwischensummen variablen mit 0 belegen
-wenn nach deiner Logik eine Zwischensumme kommen sollte, dann einfach das was gerade in der Zwischensumme zusammengerechnet wurde, in die passende Return Spalte eintrage, den rest ggf leeren und dann aufgrund deiner bedingung damit noch einen extra suspend mit den dann neuen variablen machen und bei bedarf die zwischensumme wieder auf 0 setzen
-die komplette spkannst du dann mit select * from spname (:ggf_Variablen_eingeben) von jedem Client aus aufrufen , also im report design, im grid oder wo auch immer
-wenn das editierbar bleiben soll, machst du noch einen updatable view oben auf die sp drauf

wenn du das alles im client machen willst, dann viel erfolg, datenbankseitig ist das mit firebird bordmitteln simpel zu machen, noch komplexer sogar wenn man dazu gtt global temporary tables benutzt. Mit einem sql ginge das ähnlich wie in der sp mit execute block, aber es ist nicht damit getan, hier und dann mal eben sum und group by befehle einzubauen.

Hilft dir zwar nicht wirklich weiter (es sei denn du bist bei IBExpert Hotline kunde), aber ich geh davon aus, das man für das lauffähige Grundgerüst der Anforderung maximal 10-20 Minuten braucht und so was machen wir im Rahmen der Hotline für Kunden regelmßig. Ist halt eine Frage was einem (oder dem Arbeitgeber) die eigene Arbeitszeit wert ist, so was stunden- oder tagelang auszutüfteln, ohne irgendwelche Fortschritte zu machen.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat