Frage

Ich möchte Folgendes tun:

SELECT sum (max (Feld 10,000,0)) aus der Tabelle

, wie in, mag ich habe Feld 10.000 aufsummiert, aber wenn Feld 10.000 <0, dann will ich es 0 hinzuzufügen.

irgendwelche Vorschläge?

Karl

War es hilfreich?

Lösung

ANSI Syntax (unterstützt durch SQL Server, Oracle, MySQL und PostgreSQL):

SELECT  SUM(CASE WHEN FIELD < 10000 THEN 0 ELSE FIELD - 10000 END)
FROM    mytable

Mit GREATEST (nicht von SQL Server unterstützt):

SELECT  SUM(GREATEST(field - 10000, 0))
FROM    mytable
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top