AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zusammenfassen aber verschiedene Bedingungen
Thema durchsuchen
Ansicht
Themen-Optionen

Zusammenfassen aber verschiedene Bedingungen

Ein Thema von Privateer3000 · begonnen am 7. Jul 2008 · letzter Beitrag vom 7. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#1

Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 12:16
Datenbank: mdb • Zugriff über: ado
Hihio,
ich häng ein wenig fest.
Ich benötige 3 mal eine Punktezusammenfassung
allerdings zu etwas unterschiedlichen Bedingungen.
Also etwa:
Select spie,sum(me*pu) AS zalles FROM t1 WHERE spie=spnummer AND fertig=False Nun kommen zwei weitere Abfragen, etwa so:
Select spie,sum(me*pu) AS zalles FROM t1 WHERE spie=spnummer AND sonder=True AND fertig=False und
Select spie,sum(me*pu) AS zalles FROM t1 WHERE spie=spnummer AND verlor=True AND fertig=False Nun finden alle drei Abfragen hintereinander statt und funktionieren auch.
Kann man dies zusammenfassen zu einer, oder fehlt hier eine Normalisierung
zum Beispiel?

Grüße
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 12:23
SQL-Code:
Select
    spie,
    sum(me*pu) AS zalles,
    SUM( IIF( Sonder = True, me*pu, 0)) as zsonder,
    SUM( IIF( Verlor = True, me*pu, 0)) as zverlor
FROM
    t1
WHERE
    spie=spnummer AND fertig=False;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 12:28
Danke mkinzler!
Ist das IIF korrekt?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 12:30
Könnte auch nur If() heissen ( ist m.W. beim MSSQL so)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 12:35
Danke,
eine letzte Frage noch, was bedeutet das in
SUM( IIF( Sonder = True, me*pu, 0)) as zsonder da ,0?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 12:38
Das IIF() liefert für jede Zeile, wenn die Bedingung wahr ist me*pe zurück sonst 0. Diese Werte werden dann für summiert.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 12:45
Ich hab es so probiert,
nun kommt eine Fehlermeldung
"Undefinierte Funktion 'if' in Ausdruck".
Woran kann das liegen?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 12:52
In Access müsste es IIF() heissen. Sonst könnte man es auch mit CASE..WHEN versuchen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 13:14
Perfekt !
genauso funktioniert es.
Was ist das nun genau?
Ein subselect?
Können die Aggregate auch unterschiedlich sein?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Zusammenfassen aber verschiedene Bedingungen

  Alt 7. Jul 2008, 13:19
Zitat:
Was ist das nun genau?
Ein subselect?
Nein eine Funktion die auf die Werte angewandt wird.
Können die Aggregate auch unterschiedlich sein? Ja
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 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