Forum: Datenbanken
Delphi
by shmia,
1. Okt 2008
Man kann die Abfrage 2 noch etwas aufbohren:
SELECT Materialkennummer, COUNT(*) AS AnzahlBeweg, Min(Year(aktuelles_Datum)) AS MinDatum, Max(Year(aktuelles_Datum)) AS MaxDatum
FROM dbo.Lagerbewegung
WHERE Bewegung = N'Abgang' AND aktuelles_Datum >= :MinDatum AND aktuelles_Datum <= :MaxDatum)
GROUP BY Materialkennummer
Das Gesamtergebnis sieht dann verkürzt so aus:
Kennummer |...
Forum: Datenbanken
Delphi
by shmia,
1. Okt 2008
Also die Abfragen erscheinen mir noch wenig effizient zu sein. :gruebel:
Man muss doch bei den Lagerbewegungen anfangen und diese schon mit GROUP BY "eindampfen".
Dieses frühzeitige Reduzieren der Datenmenge spart dem Server viel Zeit und Resourcen (Abfrage 1):
SELECT Materialkennummer, COUNT(*) AS AnzahlBeweg
FROM dbo.Lagerbewegung
WHERE Bewegung = N'Abgang'
GROUP BY Materialkennummer...