Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Query für Summe mit Auftreten von bestimmten Values (https://www.delphipraxis.net/206502-query-fuer-summe-mit-auftreten-von-bestimmten-values.html)

noisy_master 29. Dez 2020 13:49

Datenbank: Paradox • Version: 5.x • Zugriff über: BDE

Query für Summe mit Auftreten von bestimmten Values
 
Hallo Gemeinde,

eigentlich wollte ich ja mit der BDE endlich Schluß machen, aber vorher muss ich noch ein kleines Feature einbauen.

ich habe folgendes:

FeldA FeldB FeldC
1 TeilA 15
1 TeilB 17
1 TeilC 23
2 TeilD 39
2 TeilB 17
3 TeilA 15
3 TeilJ 47


Nun bräuchte ich die Summe des Feldes C, wo FeldA gleich ist und in FeldB TeilA vorkommt. Also im obigen Beispiel 15+17+23 + 15+47
Vielleicht weiss ja hier auch wieder einer von euch SQL Gurus wieder Abhilfe(manuell ist kein Problem, aber ein geschicktes Query wäre wieder toll)

Ich danke euch wieder schon vielmals im voraus

Gruß

mkinzler 29. Dez 2020 14:00

AW: Query für Summe mit Auftreten von bestimmten Values
 
Wenn ich dich richtig verstanden habe:
SQL-Code:
select
  sum( FeldC)
where
  FeldB = 'TeilA'
group by
  FeldA;

noisy_master 29. Dez 2020 14:05

AW: Query für Summe mit Auftreten von bestimmten Values
 
Zitat:

Zitat von mkinzler (Beitrag 1480045)
Wenn ich dich richtig verstanden habe:
SQL-Code:
select
  sum( FeldC)
where
  FeldB = 'TeilA'
group by
  FeldA;

Würde das nicht nur die Summe ergeben, wo FeldB = Teil A ist? also aus obigem Beispiel = 15+15?

mkinzler 29. Dez 2020 14:08

AW: Query für Summe mit Auftreten von bestimmten Values
 
Nur in diesen Feldern kommt 'TeilA' vor.

Moombas 29. Dez 2020 14:11

AW: Query für Summe mit Auftreten von bestimmten Values
 
Ich glaube er möchte das folgendermaßen:
Feld A gibt eine Gruppe an.
Wenn in einer Gruppe in Feld B "TeilA" vorkommt, soll die gesamte Gruppe in das Ergebnis summiert werden.

mkinzler 29. Dez 2020 14:12

AW: Query für Summe mit Auftreten von bestimmten Values
 
SQL-Code:
select
  sum( FeldC)
from
  <Tabelle>
where
  FeldA in (select FeldA from <Tabelle> where FeldB='TeilA')
group by
  FeldA;

mkinzler 29. Dez 2020 14:13

AW: Query für Summe mit Auftreten von bestimmten Values
 
Die Gruppierung kann ja dann weg.

noisy_master 29. Dez 2020 14:21

AW: Query für Summe mit Auftreten von bestimmten Values
 
Zitat:

Zitat von mkinzler (Beitrag 1480049)
SQL-Code:
select
  sum( FeldC)
from
  <Tabelle>
where
  FeldA in (select FeldA from <Tabelle> where FeldB='TeilA')
group by
  FeldA;

Sorry, aber gibt das nicht immer noch 15 +15? Wie schon im Intro angegeben hätte ich gerne (15+17+23 + 15+47=117)(Hat Moombas korrkt erkannt ;-) )Vielleicht bin ich aber auch nur zu blöd SQL richtig zu verstehen. Könntest du mir erklären, warum das funktioniert?

mkinzler 29. Dez 2020 14:29

AW: Query für Summe mit Auftreten von bestimmten Values
 
Wie geschrieben ist die Gruppierung noch zu viel:

SQL-Code:
select
  sum( FeldC)
from
  <Tabelle>
where
  FeldA in (select FeldA from <Tabelle> where FeldB='TeilA');
SQL-Code:
select FeldA from <Tabelle> where FeldB='TeilA'
ergibt 1 und 3

noisy_master 29. Dez 2020 14:35

AW: Query für Summe mit Auftreten von bestimmten Values
 
Zitat:

Zitat von mkinzler (Beitrag 1480052)
Wie geschrieben ist die Gruppierung noch zu viel:

SQL-Code:
select
  sum( FeldC)
from
  <Tabelle>
where
  FeldA in (select FeldA from <Tabelle> where FeldB='TeilA');
SQL-Code:
select FeldA from <Tabelle> where FeldB='TeilA'
ergibt 1 und 3

Ah, jetzt!

Herzlichen Dank nochmal!!!


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