Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi In Datenbank Addieren (https://www.delphipraxis.net/34229-datenbank-addieren.html)

needatip 19. Nov 2004 17:39


In Datenbank Addieren
 
Hallo,

hab folgendes Problem.
Ich habe eine Paradox Datenbank mit folgenden Feldern:
"POS(Integer)"
"APOS(String)"
"Betrag(Währung)"

Feld "Pos" ist mit fortlaufenden Integerwerten von 1 bis 100000 gefüllt.
Das Feld Apos ist bei manchen Positionen je nachdem mit dem Buchstaben a-z gefüllt.

Beispiel:

POS APOS BETRAG
1 20
2 40
3 a 30
4 60
5 20
5 a 10
5 b 15
6 80
7 30
8 10
8 a 30
8 b 20
8 c 50
9 20
10 60
usw.


Nun sollen alle Werte mit der gleichen Positionsnummer, aber mit den unterschiedlichen APos-Werten addiert werden und in das Feld "Betrag" eingetragen werden.

nach obigem Beispiel Datensatz 8 die Felder 8,8a,8b,8c.
Ergebnis: 90

Kann mir jemand helfen, da die Datenbank ca. 80.000 Datensätze hat.

Leuselator 19. Nov 2004 18:00

Re: In Datenbank Addieren
 
Wenn ich Dich richtig verstanden habe:

SQL-Code:
  SELECT POS
       , SUM(BETRAG) AS SUMME
    FROM DeineTabelle
GROUP BY POS
ergibt für pos = 5 SUMMME = 45
Gruß

needatip 19. Nov 2004 18:35

Re: In Datenbank Addieren
 
Super !
Wie kann ich die Werte dann in die Datenbank schreiben, oder kann ich eine neue Tabelle erzeugen.
bzw. die Datensätze mit den A-Positionen sollen auch mit der Abfrage mit angezeigt werden.

MrSpock 20. Nov 2004 14:14

Re: In Datenbank Addieren
 
Hallo needatip,

apos kann ja nicht mit angezeigt werden, da du ja mit der Abfrage die Daten nach die pos - Gruppen zusammengefasst hast. Nimm als Beispiel die Position 5 mit dem Betrag 45. Diese Gruppe umfasst ja blank, a und b als apos.

Wenn du das Ergebnis in eine Tabelle schreiben willst, kannst du folgendes Statement benutzen:

SQL-Code:
INSERT INTO betrags_summen
SELECT POS
       , SUM(BETRAG) AS SUMME
    FROM DeineTabelle
GROUP BY POS
Ich meine, dass auch local SQL dieses Konstrukt akzeptiert.

needatip 21. Nov 2004 09:33

Re: In Datenbank Addieren
 
OK, hab es hingekriegt.
Vielen Dank.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 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 by Thomas Breitkreuz