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

Prozentrechnung

Dieses Thema im Forum "Oracle" wurde erstellt von Cr4m0, 3 Januar 2014.

  1. Cr4m0

    Cr4m0 Benutzer

    Hi,

    ich habe eine Tabelle mit folgenden Spalten:

    Ausgaben/Ausgabenlimit/Differenz



    Ich möchte nun die Ausgaben in 3 Kategorien einteilen (A,B,C).
    Dafür habe ich der Tabelle eine neue Spalte hinzugefügt die ich Category genannt habe.

    Sollten die Ausgaben Größer oder gleich dem Ausgabenlimit sein fällt dies in Kategorie A
    Sollten die Ausgaben 95-99% des Ausgabenlimit sein fällt dies in Kategorie B
    Sollten die Ausgaben 90-95% des Ausgabenlimit sein fällt dies in Kategorie C

    Kategorie A ist ja ganz einfach:
    update Tabelle t set Category = case when ausgaben >= ausgabenlimit then 'A'

    Wie setze ich dies nun mit den Prozentwerten um?

    Viele Grüße
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Code:
    test=*# select * from cr4m0 ;
     ausgaben | ausgabelimit
    ----------+--------------
      10 |  10
      10 |  20
      10 |  5
      98 |  100
    (4 rows)
    
    test=*# select *, ((ausgaben::numeric/ausgabelimit)*100)::numeric(10,2) as prozent, case when ((ausgaben::numeric/ausgabelimit)*100)::numeric(10,2) >= 100 then 'A' when ((ausgaben::numeric/ausgabelimit)*100)::numeric(10,2) between 95 and 100 then 'B' else 'C' end as Kategorie from cr4m0 ;
     ausgaben | ausgabelimit | prozent | kategorie
    ----------+--------------+---------+-----------
      10 |  10 |  100.00 | A
      10 |  20 |  50.00 | C
      10 |  5 |  200.00 | A
      98 |  100 |  98.00 | B
    (4 rows)
    
    So vielleicht? Für C ist es nicht ganz korrekt, aber ich denke, Du siehst den Weg.

    (ich mußte a bissl rumcasten, weil die Ausgangstabelle INT-Spalten hat)
     
  3. akretschmer

    akretschmer Datenbank-Guru

    Wie ist einklich der Stand, Problem gelöst?
     

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