Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Summiere Produkte, wenn Einheit = Stück

Dieses Thema im Forum "Oracle" wurde erstellt von FreeSepp, 19 Juli 2016.

  1. FreeSepp

    FreeSepp Benutzer

    Hallo,

    ich brauche die Summe von Produkt_1, wenn die Einheit_1 = 'Stck' und die Summe aus Produkt_2 wenn die Einheit_2 = 'Stck'. Ist eine andere Einheit hinterlegt soll dann soll bei Einheit_1 bzw. Einheit_2 eine Null eingetragen werden.
    Produkt_1 / Einheit_1; Produkt_2 / Einheit_2
    20/kg ; 4/Stck
    15/Stck; 6/m
    usw.
     
  2. ukulele

    ukulele Datenbank-Guru

    CASE ist dein Freund. In etwa so:
    Code:
    SELECT ( CASE WHEN Einheit_1 = 'Stck' THEN Produkt_1 ELSE 0 END ) AS Produkt_1,
    ( CASE WHEN Einheit_2 = 'Stck' THEN Produkt_2 ELSE 0 END ) AS Produkt_2
    FROM tabelle
     
    FreeSepp gefällt das.
  3. FreeSepp

    FreeSepp Benutzer

    Vielen Dank, funktioniert!
    LG
    FS

    P.S.
    Und wenn ich jetzt die 'STCK' aus Produkt_1 und Produkt_2 in nur einer Spalte z.B. Total_Prod ausgeben will,
    wie muss ich diese Abfrage erweitern?
     
    Zuletzt bearbeitet: 20 Juli 2016
  4. ukulele

    ukulele Datenbank-Guru

    Du kannst beliebige Spalten zusammen schustern:
    Code:
    ( CASE WHEN Einheit_1 = 'Stck' THEN Produkt_1 WHEN Einheit_2 = 'Stck' THEN Produkt_2 ELSE 0 END ) AS Produkt_allgemein
    Wenn natürlich Einheit_1 und Einheit_2 die Bedingung erfüllen nimmt er immer die erstgenannte, also den Wert aus Produkt_1.
     
  5. FreeSepp

    FreeSepp Benutzer

    Wenn beide die Bedingung erfüllen dann möchte ich die Summe als Produkt_allgemein ausgeben.
     
  6. FreeSepp

    FreeSepp Benutzer

    Ich hab's:
    SELECT ( ( CASE WHEN Einheit_1 = 'Stck' THEN Produkt_1 ELSE 0 END ) +( CASE WHEN Einheit_2 = 'Stck' THEN Produkt_2 ELSE 0 END )) AS Produkt_allgemein.
    FROM tabelle
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden