Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Summe einer Spalte mit SQL (https://www.delphipraxis.net/117365-summe-einer-spalte-mit-sql.html)

sebi87 16. Jul 2008 17:49

Datenbank: Firebird • Version: 1.5 • Zugriff über: ZeosLib

Summe einer Spalte mit SQL
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,

kann mir jemand Helfen? Ich habe das SQL-Statement:
SQL-Code:
SELECT
  TAB_Aktion.Punkte,
  TAB_Teilnahme.Wert,
  TAB_Teilnahme.Mitgliedernummer
FROM TAB_Teilnahme
INNER JOIN TAB_Aktion ON
TAB_Aktion.Aktionsnummer = TAB_Teilnahme.Aktionsnummer
WHERE (Wert = 1) AND (Mitgliedernummer = 701) ;
das Ergebnis sieht so aus das ich 3 Spalten habe (siehe Bild).
Wie kann ich jetzt die Spalte mit den Punkten per SQL summieren?


Grüßle
Sebastian

alzaimar 16. Jul 2008 17:56

Re: Summe einer Spalte mit SQL
 
SQL-Code:
select sum(spalte) from Tabelle

shmia 16. Jul 2008 17:58

Re: Summe einer Spalte mit SQL
 
Mit einer Unterabfrage:
SQL-Code:
SELECT
  TAB_Teilnahme.Wert,
  TAB_Teilnahme.Mitgliedernummer,
  (SELECT SUM(TAB_Aktion.Punkte) FROM TAB_Aktion WHERE TAB_Aktion.Aktionsnummer = TAB_Teilnahme.Aktionsnummer) AS PunkteTotal
FROM TAB_Teilnahme
WHERE (Wert = 1) AND (Mitgliedernummer = 701)

omata 16. Jul 2008 18:28

Re: Summe einer Spalte mit SQL
 
SQL-Code:
SELECT t.Wert,
       t.Mitgliedernummer,
       a.PunkteTotal
FROM TAB_Teilnahme t
LEFT JOIN (SELECT Aktionsnummer, SUM(Punkte) AS PunkteTotal
           FROM TAB_Aktion
           GROUP BY Aktionsnummer) a
  ON t.Aktionsnummer = a.Aktionsnummer
WHERE Wert = 1
  AND Mitgliedernummer = 701

nahpets 16. Jul 2008 18:58

Re: Summe einer Spalte mit SQL
 
SQL-Code:
select sum(Punkte) As Punktsumme,
  Wert,
  Mitgliedernummer
from
(
  SELECT
    TAB_Aktion.Punkte,
    TAB_Teilnahme.Wert,
    TAB_Teilnahme.Mitgliedernummer
  FROM TAB_Teilnahme
  INNER JOIN TAB_Aktion ON
  TAB_Aktion.Aktionsnummer = TAB_Teilnahme.Aktionsnummer
  WHERE (Wert = 1) AND (Mitgliedernummer = 701)
) Zwischenergebnis
group by
  Wert,
  Mitgliedernummer
Stephan

omata 16. Jul 2008 19:15

Re: Summe einer Spalte mit SQL
 
das geht auch einfacher...
SQL-Code:
SELECT Wert,
       Mitgliedernummer,
       SUM(Punkte) AS PunkteTotal
FROM TAB_Teilnahme t
INNER JOIN TAB_Aktion a
  ON t.Aktionsnummer = a.Aktionsnummer
WHERE Wert = 1
  AND Mitgliedernummer = 701
GROUP BY Wert, Mitgliedernummer


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 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