![]() |
Datenbank: FB 1.5 • Zugriff über: blubb
zusätzliche Table in Join aufnehmen ?
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:
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.
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; 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 ? |
Re: zusätzliche Table in Join aufnehmen ?
Guten Morgen,
so sollten die gleichen Ergebnisse in einer Datenmenge landen und nach größe sortiert sein.
SQL-Code:
Schönen Tag noch ...
SELECT A.ID_WGHAUPT, A.NR, A.BEZ, ASTAT.JAHR, SUM (UMSATZ) AS GESUMSATZ
FROM ART A RIGHT JOIN ARTSTAT ASTAT ON (A.ID = ASTAT.ID_ART) WHERE JAHR = 2004 GROUP BY A.ID_WGHAUPT, A.NR, A.BEZ, ASTAT.JAHR ORDER BY GESUMSATZ Niels |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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