![]() |
AW: select sum mit feldausgabe
Zitat:
Delphi-Quellcode:
Es werden die beiden Summen unter dem Feldnamen "Gesamt" ausgegeben,
select
sum(Zahlung) as Gesamt, KontoArt jeweils mit der Kontoart 'E oder A'. Aber wie greife ich auf die einzelnen Summe zu um sie anzuzeigen? Ich werde das ganze für einen Fast-Report gebrauchen. Der Report wird in etwa so aufgebaut sein: Gruppenkopf: AuszugsNr, Beginn und Ende als Datum, und die Summe für den Auszug (Einzahlungen - Ausgabe) Im Detail: Datum, KontoNr, Kontoname, Buchungstext, Zahlung. Mit Gruß HPB |
AW: select sum mit feldausgabe
Falls in Kontoart nur 'A' oder 'E' steht reicht ein einfaches
Code:
Da ich mit
SELECT SUM(Zahlung), KontoArt
GROUP BY KontoArt
SQL-Code:
nixcht soo gute Erfahrungen gemacht habe schlage ich vor
or
[CODE=SQL]
Code:
SELECT SUM(Zahlung), KontoArt
where Kontoart='A' GROUP BY KontoArt Union SELECT SUM(Zahlung), KontoArt where Kontoart='E' GROUP BY KontoArt order by KontoArt
SQL-Code:
Gibt es die Felder "Einnahme" und "Ausgabe" in der Tabelle "Kassenbuch"?
select
sum(Zahlung) as Einnahme, sum(Zahlung) as Ausgabe, (select SUM(Einnahme) where KontoArt = 'E') as Ges_Einnahmen, (select SUM(Ausgabe= where KontoArt = 'A') as Ges_Ausgabe from KASSENBUCH where extract(year from datum) in (2016, 2016) Wenn ich mich richtig erinnere, nein! Also versuch es mal mit
Code:
und wie schon weiter oben angemerkt
(select SUM(Zahlung) where KontoArt = 'E') as Ges_Einnahmen,
Code:
wird in Einnahme und Ausgabe den selben Wert liefern.
sum(Zahlung) as Einnahme,
sum(Zahlung) as Ausgabe, Gruß K-H |
AW: select sum mit feldausgabe
Zitat:
SQL-Code:
ein "=" Zeichen reingerutsch anstatt eine schließene Klammer ")". Ob das jetzt zum gewünschten Ergebnis führt kann ich nicht sagen, aber die Fehlermeldung sollte verschwinden.
WHERE KontoArt = 'A'
|
AW: select sum mit feldausgabe
Zitat:
Die schliessende Klammer fehlt in der Tat. Aber der Fehler tritt ja schon in der Zeile 4 beim "Where" auf. Mit Gruß HPB |
AW: select sum mit feldausgabe
Zitat:
SQL-Code:
das SUM angezeigt werden?
select SUM(Einnahme) where KontoArt = 'E'
Da fehlt mindestens noch ein FROM dazwischen. Zitat:
Nochmal will ich mich nicht wiederholen. |
AW: select sum mit feldausgabe
[del] blöder Doppelpost
|
AW: select sum mit feldausgabe
Moin!
Delphi-Quellcode:
das ist aber leider falsch; wenn er zwei Arten von Buchungen hat, nämlich EIN- und AUS- Zahlungen, dann wirds nur richtig, wenn die Werte in den Buchungssätzen mit Vorzeichen versehen werden!
sum(Zahlung) as Umsatz, -- alles zusammen
Wenn die Werte berechnet werden, wie Uwe Raabe es vorgegeben hat, dann kann man anschließend noch saldieren ... Gruß Rolf |
AW: select sum mit feldausgabe
Zitat:
Aber auch da kann man die SUM für "Einzahlungen" und "Ausgabe" getrennt summieren und dann verrechnen (Einzahlungen-Ausgabe). Und wenn die "Ausgaben" negativ sind, dann halt Einzahlungen+Ausgabe , bzw. man kann das dann problemlos mit einem SUM gemeinsam zusammenrechnen lassen. |
AW: select sum mit feldausgabe
@himitsu: Na klar, weil SUM ja nun mal "zusammenrechnet" :-D
ich würde es vielleicht so machen: (Edit: 3. SUM: dabei darf es aber nur diese beiden Kontenarten geben!)
Delphi-Quellcode:
wobei ich nicht weiss, ob diese Syntax von Interbase unterstützt wird.
SELECT
SUM(CASE WHEN Kontoart = 'E' THEN Zahlung ELSE 0 END) AS Gesamt_Ein, SUM(CASE WHEN Kontoart = 'A' THEN Zahlung ELSE 0 END) AS Gesamt_Aus, SUM(CASE WHEN Kontoart = 'E' THEN Zahlung ELSE Zahlung * -1 END) AS Gesamt FROM Kassenbuch |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 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