![]() |
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:
Des Weiteren besteht die Aufgabe den Maximalabsatz in einer Gruppe von 4 Wochen ausfindig zu machen.
(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, 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. |
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 19:07 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-2025 by Thomas Breitkreuz