Hi,
es geht um eine Warengruppenstatistik. Allerdings habe ich zu diesem Zweck nur eine Artikel-Statistik und halt die Artikel. Über letzere komme ich ja auch an die Warengruppen dran.
momentan habe ich so was hier (verkürzt) :
Delphi-Quellcode:
WgDS.close;
WgDS.SelectSQL.Text := 'SELECT * FROM WG WHERE NR <= '+IntToStr (99);
WgDS.open; // vorerst fest ^
while not WgDS.Eof do with DS do begin
Close;
SelectSQL.Clear;
SelectSQL.Text := 'SELECT A.NR, A.BEZ, ASTAT.JAHR';
SelectSQL.Add(',SUM (UMSATZ) AS GESUMSATZ');
SelectSQL.Add('FROM ART A RIGHT JOIN ARTSTAT ASTAT');
SelectSQL.Add('ON (A.ID = ASTAT.ID_ART) WHERE A.ID_WGHAUPT = ');
SelectSQL.Add(LeseFeld (EingDM.WgDS,'ID')+' AND JAHR = 2004');
SelectSQL.Add('GROUP BY A.NR, A.BEZ, ASTAT.JAHR');
Open;
WgDs.Next;
end;
end;
Wie man sieht, bin ich kurzerhand hingegangen und laufe über die Artikel, mit der Einschränkung auf eine bestimmte Warengruppe. Vorerst ist das der Wert den ich auch brauche. Allerdings mit folgendem Nachteil : ich erhalte für jede Warengruppe eine eigene Datenmenge.
Folgendes ist noch gefordert : Sortierung nach Umsatz pro Warengruppe und Anzeige der Anteile am Gesamtumsatz. Ich muß deshalb aus den zwei Selects eines machen. 8) Nur wie am besten ?