Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   2x Sum aus gleichem Feld unterschiedliche Bedingung (https://www.delphipraxis.net/215108-2x-sum-aus-gleichem-feld-unterschiedliche-bedingung.html)

tkhandel 10. Mai 2024 09:01

AW: 2x Sum aus gleichem Feld unterschiedliche Bedingung
 
Zitat:

Zitat von Papaschlumpf73 (Beitrag 1536555)
Vielleicht ist es ein DateTime-Feld mit Uhrzeit drin.

ja genau es ist ein Timesstamp da auch die Uhrzeit des Verkaufs festgehalten wird

Olli73 10. Mai 2024 09:22

AW: 2x Sum aus gleichem Feld unterschiedliche Bedingung
 
Zitat:

Zitat von tkhandel (Beitrag 1536557)
ja genau es ist ein Timesstamp da auch die Uhrzeit des Verkaufs festgehalten wird

Könnte, wie schon jemand geschrieben hat, Probleme mit Index geben, also langsam werden bei "Großkunden".

Außerdem sollte das SQL von Papaschlumpf73 performanter sein...

Ich kenn das, man testet mit einer "kleinen" Datenbank, alles perfekt und der Kunde verflucht dann die Performance...

Uwe Raabe 10. Mai 2024 10:01

AW: 2x Sum aus gleichem Feld unterschiedliche Bedingung
 
Die vollständige Anweisung sähe in etwa so aus (Zahlart ist leider noch etwas vage beschrieben, daher nehme ich alles <> 3 als Karte):
SQL-Code:
select
 FahrerNr as MitarbeiterNr,
 Sum(VKBG) as Umsatz,
 SUM(CASE WHEN Zahlart=3 THEN VKNG ELSE 0 END) AS Bar,
 SUM(CASE WHEN Zahlart<>3 THEN VKNG ELSE 0 END) AS Karte
from Tagesumsatz
where cast(Datum as Date) = '06.05.2024'
Group by FahrerNr

tkhandel 10. Mai 2024 10:12

AW: 2x Sum aus gleichem Feld unterschiedliche Bedingung
 
Hallo Uwe,
Zahlart ist eine int Bar = 1, LS = 2, Karte = 3

da bekomme in deiner variante die Fehlermeldung:

Error at line 1 expression evaluation not supported

Uwe Raabe 10. Mai 2024 11:32

AW: 2x Sum aus gleichem Feld unterschiedliche Bedingung
 
Zitat:

Zitat von tkhandel (Beitrag 1536560)
Zahlart ist eine int Bar = 1, LS = 2, Karte = 3

In dem Fall ist das Beispiel im Eingangspost aber aber auch falsch, denn dort wird bei Zahlart = 3 die Summe als Bar zurückgegeben.

Zitat:

Zitat von tkhandel (Beitrag 1536560)
Error at line 1 expression evaluation not supported

OK, die Interbase Syntax ist da noch etwas anders als ich das in Erinnerung hatte (mit FireDAC wird das erfreulicherweise datenbankunabhängig wegabstrahiert). So sollte es gehen:
SQL-Code:
select
 FahrerNr as MitarbeiterNr,
 Sum(VKBG) as Umsatz,
 SUM(CASE Zahlart WHEN 1 THEN VKNG ELSE 0 END) AS Bar,
 SUM(CASE Zahlart WHEN 2 THEN VKNG ELSE 0 END) AS LS,
 SUM(CASE Zahlart WHEN 3 THEN VKNG ELSE 0 END) AS Karte
from Tagesumsatz
where cast(Datum as Date) = '06.05.2024'
Group by FahrerNr

tkhandel 10. Mai 2024 12:04

AW: 2x Sum aus gleichem Feld unterschiedliche Bedingung
 
ja das stimmt Uwe, wollte nur schnell das Problem schildern


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 Uhr.
Seite 2 von 2     12   

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