sql >> Database >  >> RDS >> Mysql

SQL:ADD &MINUS gebaseerd op veldtype

U kunt een variabele gebruiken om het cumulatieve bedrag vast te houden:

SELECT ID, 
       @s := IF(ACTION_TYPE='ADD', @s + ACTION_QTY, @s - ACTION_QTY) AS BALANCE,
       ACTION_QTY,
       ACTION_TYPE
FROM tableA
CROSS JOIN (SELECT @s := 0) AS var
ORDER BY ID 

De bovenstaande zoekopdracht gaat ervan uit dat er slechts twee soorten ACTION_TYPE . zijn waarden, namelijk 'ADD' en 'DEDUCT' . Dus als ACTION_TYPE is niet gelijk aan 'ADD' , dan is het gelijk aan 'DEDUCT' .

Demo hier




  1. MYSQL - Verschil tussen IN en EXIST

  2. Parameters toevoegen met NULL standaardwaarde voor MySQL opgeslagen procedure

  3. Time-outinstelling voor SQL Server

  4. Omgaan met het maken van indexen met MongoEngine in Python