tutorials.de Buch-Aktion 02/2012
Like Tree1Danke
  • 1 Beitrag von Matthias Reitinger
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
905
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    proloser proloser ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    468
    Hallo,
    der Titel sagt eigentlich schon ziehmlich viel. Die Datenbak sieht wie folgt aus:

    id | zahl1| zahl2
    1 | 10 | 20


    Mir ist klar wie ich die Zwei werte zusammen ausgeben kann:
    Code sql:
    1
    2
    3
    4
    5
    
    SELECT 
      zahl1 + zahl2 AS summe
     
    FROM 
      tabelle

    Klar ist mir auch wie ich von einem Feld, einen bestimmten Wert abziehen kann:
    Code sql:
    1
    2
    3
    4
    5
    
    UPDATE 
      tabelle
     
    SET 
      zahl1 = zahl1 - 24


    Nun zu meinem Problem:

    Ich möchte ein bestimmten Wert von der "summe" abziehen. Das bedeutet, wenn ich 24 abziehe, soll folgendes in der Datenbank passieren:

    id | zahl1 | zahl2
    1 | 0 | 6


    Wenn ich 5 abziehe:

    id | zahl1 | zahl2
    1 | 5 | 20


    Mir würde zwar über Umwegen eine Möglichkeit einfallen aber ich denke damit es dafür eine einfache Möglichkeit gibt.

    Gruß proloser
    Geändert von proloser (15.08.10 um 17:36 Uhr)
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.774
    Blog-Einträge
    5
    Zitat Zitat von proloser Beitrag anzeigen
    Die Datenbak sieht wie folgt aus:

    id | zahl1| zahl2
    1 | 10 | 20

    [...]
    Ich möchte ein bestimmten Wert von der "summe" abziehen. Das bedeutet, wenn ich 24 abziehe, soll folgendes in der Datenbank passieren:

    id | zahl1 | zahl2
    1 | 0 | 4
    Und nach welcher Rechenvorschrift soll da jetzt 4 rauskommen? Meintest du vielleicht eher 6? Wenn ja, dann probier es mal so:

    Code sql:
    1
    2
    3
    
    UPDATE tabelle
    SET zahl2 = IF(zahl1 - 24 < 0, zahl1 + zahl2 - 24, zahl2),
        zahl1 = IF(zahl1 - 24 < 0, 0, zahl1 - 24)

    Grüße,
    Matthias
    proloser bedankt sich. 
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  3. #3
    proloser proloser ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    468
    Habs auch gerade gesehen und schon ausgebessert, natürlich mein ich 6. Sorry ...
    Vielen Dank, werd ich gleich ausprobieren!

    Gruß proloser
     

Ähnliche Themen

  1. time() aus MySQL subtrahieren
    Von walle_89 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 03.04.09, 11:13
  2. MySQL: Zwei Feldern bei Insert den Autoincrement-Wert zuweisen
    Von HerbertXXL im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 14.11.08, 11:36
  3. [MySQL] Datumswerte addieren/subtrahieren
    Von Dark Ranger im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 02.09.08, 14:04
  4. Wert aus Feldern der jTable auslesen
    Von chocox im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 03.08.07, 20:26
  5. Mysql Update von feldern nur wenn wert...
    Von Zero2000 im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 10.10.05, 16:35