Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Komplexe SQÖL Abfrage mit Sum und Max (https://www.delphipraxis.net/187145-komplexe-sqoel-abfrage-mit-sum-und-max.html)

waldforest 31. Okt 2015 09:54

Datenbank: Firebird • Version: 2.5 • Zugriff über: zeos

Komplexe SQÖL Abfrage mit Sum und Max
 
Hallo,
ich stehe vor der Aufgabe eine komplexe Abfrage zu starten und suche nach einer Optimierung. Die Aufgabe besteht die Verkäufe der letzten Monate wochenmäßig zusammen zu fassen.

Dies ist kein Problem, geht über eine Sum mit entsprechenden Wochenfilter.
Delphi-Quellcode:
(SELECT sum( OA.ART_MENGE ) FROM ORDERS O
   RIGHT JOIN ORD_ART OA ON O.ORDERS_ID = OA.ORDER_ID
   WHERE ((OA.Art_id = A.Art_ID) and (O.BESDAT between dateadd( week , -1 , current_date ) and dateadd( week , -0 , current_date)))) AS VK_1Menge,
Des Weiteren besteht die Aufgabe den Maximalabsatz in einer Gruppe von 4 Wochen ausfindig zu machen.

z.B. den Maximalwert der Wochen (mit Bezug aktuelle KW) -1 bis - 4, -5 bis - 9 aus den zuvor ermittelten Summen der Einzelwochen zu bilden.

Gibt es eine Möglichkeit innerhalb einer Abfrage die Ergebnisse aus SUM direkt weiter zu verarbeiten.?
Aktuell mache ich dies in meiner Query über ein berechnendes Feld, was aber verhältnismäßig lange dauert.

Dejan Vu 31. Okt 2015 10:33

AW: Komplexe SQÖL Abfrage mit Sum und Max
 
Du kannst das Select in ein Select packen, so etwa (die genaue Syntax von FB kenne ich nicht)
Code:
select Summe+Maximal
  from (
  select sum(Foo) as Summe
        ,Max(Foo) as Maximal
    from Bar
  ) as ZwischenTabelle


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz