Laden...

Berechnete Spalte mit Bedingung

Erstellt von Grumbler85 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.591 Views
G
Grumbler85 Themenstarter:in
538 Beiträge seit 2008
vor 15 Jahren
Berechnete Spalte mit Bedingung

verwendetes Datenbanksystem: SQL-Server 2005 EE

Hallo,
ich habe folgendes Problem:
In meiner Datenbank existiert eine berechnete Spalte. diese Spalte berechnet aus [Anzahl] und [AnzahlproPackung] die Packungsanzahl. ([A]/[ApP]) - soweit so gut.
Nun kann es unter umständen vorkommen, dass [ApP] = 0 und wie wir alle wissen ist teilen durch 0 ne Schnapsidee, was der Server mir auch freudig mitteilt.
Nun möchte ich gerne: (IF [ApP] = 0 THEN 0 ELSE [A]/[ApP]) machen - mag der Server aber nicht...

Und da benötige ich ein wenig Hilfe...
Vielen Dank im Voraus
TG

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

T
574 Beiträge seit 2008
vor 15 Jahren

Schon mal:

CASE WHEN [ApP] = 0 THEN 0 ELSE [A]/[ApP] END

probiert?

3.511 Beiträge seit 2005
vor 15 Jahren

Hallo,

deine Formel müsste so aussehen


([A] / NULLIF([ApP], 0))

NULLIF bewirkt, dass anstelle einer 0 ein NULL genommen wird. Und mathematische Operationen mit NULL ergeben immer NULL (per Default). Somit umgeht man der Division durch 0.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

G
Grumbler85 Themenstarter:in
538 Beiträge seit 2008
vor 15 Jahren

Die Case methode Klappt.. ich hatte wohl nur das END am Ende vergessen 😁
Vielen Dank für die Hilfe

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)