AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi zusätzliche Table in Join aufnehmen ?
Thema durchsuchen
Ansicht
Themen-Optionen

zusätzliche Table in Join aufnehmen ?

Ein Thema von Hansa · begonnen am 12. Apr 2005 · letzter Beitrag vom 13. Apr 2005
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

zusätzliche Table in Join aufnehmen ?

  Alt 12. Apr 2005, 17:45
Datenbank: FB 1.5 • Zugriff über: blubb
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 ?
Gruß
Hansa
  Mit Zitat antworten Zitat
nieurig

Registriert seit: 26. Apr 2004
113 Beiträge
 
Delphi 6 Professional
 
#2

Re: zusätzliche Table in Join aufnehmen ?

  Alt 13. Apr 2005, 06:47
Guten Morgen,
so sollten die gleichen Ergebnisse in einer Datenmenge landen und nach größe sortiert sein.

SQL-Code:
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
Schönen Tag noch ...
Niels
Erspare Dir die Gedanken über ungelegte Eier !!!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:20 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