Einzelnen Beitrag anzeigen

Werwurm

Registriert seit: 21. Apr 2003
Ort: Bremen
71 Beiträge
 
Delphi 2009 Professional
 
#4

Re: SQL Berechnung und NULL

  Alt 12. Aug 2007, 13:08
Hallo,

ist schon schlecht wenn die Finger langsamer als der Kopf, dann bleibt die Beschreibung auf der Strecke.
Hier nun genauer:
Ich schreibe gerade eine Mannschaftsverwaltung für unsere Dartmannschaft. Dort trage ich auch die Spielergebnisse ein.
Hierfür habe ich zwei Tables "gespielte Einzel" und "gespielte Doppel".
Pro Spieler gibt es einen Eintrag, in dem die Ergenisse addiert werden.
In beiden Tables gibt es u.a. das Feld Punkte.
Nun möchte möchte ich für die ewigen Bestenliste die erspielten Punkte addieren.
Das mache ich nicht über die SUM Funktion sondern mittels einzel.punkte+doppel.punkte Ein Zusammenlegen der Tables macht aufgrund der restlichen DB-Struktur keinen Sinn.
So weit so schwer.
Nun gibt es Spieler die haben noch nie Einzel bzw. Doppel gespielt haben. Somit ist noch ein NULL Wert vorhanden. Und das verwirft das Ergebnis.

Zitat:
Schließe die Null-Werte bei der Summierung doch aus
...Sum( case when <Feld> is not null then <Feld> else 0 end) ...
Habe ich nicht hinbekommen, da Interbase eine Fehlermeldung "WHEN Unbekannt" bringt.
Meine vereinfachtes SQL Statement sieht folgendermaßen aus:

SQL-Code:
SELECT s.name||', '||s.vorname, e.punkte + d.punkte FROM "T_SPIELER" s
LEFT OUTER JOIN "V_EINZEL_ERGEBNIS" e ON e.spieler_id=s.id
LEFT OUTER JOIN "V_DOPPEL_ERGEBNIS" d ON d.spieler_id=s.id and d.liga=e.liga
WHERE (e.spieler_id is NOT NULL) AND (e.spieler_id is NOT NULL);

Zitat:
oder eben in der where clausel
where feld is not null
Kann nicht angewandt werden, da ich die NULL Werte behandeln möchte.

Weiß noch jemand eine Lösung für mein Problem?
Eine SP scheidet aus, da ich die Liste über alle Spieler und somit mehrere Records erhalten möchte
Gruß
Marcus
  Mit Zitat antworten Zitat