Mysql
 sql >> Database >  >> RDS >> Mysql

SQL:AGGIUNGI &MENO in base al tipo di campo

Puoi utilizzare una variabile per trattenere l'importo cumulativo:

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 

La query precedente presuppone che ci siano solo due tipi di ACTION_TYPE valori, ovvero 'ADD' e 'DEDUCT' . Quindi, se ACTION_TYPE non è uguale a 'ADD' , allora è uguale a 'DEDUCT' .

Dimostrazione qui