Jump to content

Summenbildung je nach Feldern


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

 

ich habe in einer Datenbank u.a. folgende Felder:

 

Kulanz, Mindermenge, Gewicht, Preis pro Kilogramm

 

Nun benötige ich eine Abfrage, die als letztes Feld eine Summe (den Preis der Position) enthält. Die Summe ist je nach Feldbelegung jedoch anders.

 

Wenn Kulanz = Wahr, dann ist Summe = 0

Wenn Mindermenge = Wahr, dann ist Summe = Preis pro kg

Ansonsten ist Summe = Gewicht * Preis pro kg

 

Kann mir da jemand Tipps geben?

 

Vielen Dank sagt

jBourne

Geschrieben

Hi

nehme diese Unions:

 

select Kulanz, Mindermenge, Gewicht, Preis, 0

 

from Tabelle

where Kulanz = true

 

 

union

 

select Kulanz, Mindermenge, Gewicht, Preis, Preis

 

from Tabelle

where Mindermenge = true

 

union

 

select Kulanz, Mindermenge, Gewicht, Preis,Gewicht * Preis

 

from Tabelle

where Kulanz <> true and Mindermenge <> true

Geschrieben

Moin,

 

das funktioniert so nicht mit den Unions. In dem Beispiel werden

werden einige Zeilen doppelt im Ergebenis auftauchen (WHERE-Bedingungen sind nicht exakt)

 

Übersichtlicher, ressourcensparender ist das mit CASE zu lösen.

Für den MS-SQL-Server könnte das so aussehen (TRUE ist 1, FALSE ist 0 in einer Spalte vom Typ bit):

SELECT Kulanz, Mindermenge, Gewicht, PreisproKg,
      Summe = CASE 
         WHEN Kulanz = 1 THEN 0
         WHEN Mindermenge = 1 THEN PreisproKg
         ELSE Gewicht * PreisproKg
         END
FROM Tabelle

 

Gruß Kai

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...