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
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