Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfrage mit Summen Bildung (https://www.delphipraxis.net/63124-sql-abfrage-mit-summen-bildung.html)

ol1uw 14. Feb 2006 10:59

Datenbank: Firebird • Version: 1.5.3 • Zugriff über: JvUIB

SQL Abfrage mit Summen Bildung
 
Ist es möglich eine SQL Abfrage zuerstellen die mehrere Sum(foo) enthält, es ist immer das gleiche Feld
nur mit unterschiedlicher where Klausel.
Bis jetzt ist jede Abfrage eine eigene Query ich würde aber gern nur eine Query verwenden
SQL-Code:
Select Sum(foo)From Tab where bar=0
Select Sum(foo)From Tab where bar=0 AND baar=1
Select Sum(foo)From Tab where bar=0 AND baar=1 AND baaar=0
Danke schonmal
Gruss Uwe

alcaeus 14. Feb 2006 11:00

Re: SQL Abfrage mit Summen Bildung
 
Moin,

versuchs mal so:
SQL-Code:
SELECT sum(foo) FROM foobar GROUP BY bar, baar
Greetz
alcaeus

mkinzler 14. Feb 2006 11:05

Re: SQL Abfrage mit Summen Bildung
 
Es fehlt noch die Bedingung baaar also
SQL-Code:
SELECT sum(foo) FROM foobar GROUP BY bar, baar, baaar where bar = 0

alcaeus 14. Feb 2006 11:08

Re: SQL Abfrage mit Summen Bildung
 
Zitat:

Zitat von mkinzler
Es fehlt noch die Bedingung baaar also

Oopsie..wenn dann aber so:

SQL-Code:
SELECT sum(foo) FROM foobar WHERE bar = 0 GROUP BY bar, baar, baaar
;)

Greetz
alcaeus

mkinzler 14. Feb 2006 11:11

Re: SQL Abfrage mit Summen Bildung
 
Klar, die where-Clause muß vor die group by clause.
Sorry, man sollte zuerst überlegen bevor man tippt ;-)

alzaimar 14. Feb 2006 11:30

Re: SQL Abfrage mit Summen Bildung
 
Oder so:
SQL-Code:
Select sum(case when bar = 0 then foo else 0 end) as Bar0Sum,
       Sum(case ewhen bar = 0 and baar = 1 then foo else 0 end) As Bar0Baar1Sum,
       Sum(case when bar=0 and baar=1 and baaar=0 then foo else 0 end) as Bar0Baar1Baaar0Sum
From Tab
Bei der Gruppierung, wie vorher vorgeschlagen, bekommt man nicht die Untersummen auf dem Präsentierteller.

O.h. Code funktioniert mit MSSQL, wie das bei Firebird aussieht, weiss ich leider nicht.

ol1uw 14. Feb 2006 12:47

Re: SQL Abfrage mit Summen Bildung
 
@alzaimar
Wunderbar Danke genau das was ich suchte


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