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

SQL :TILFØJ &MINUS baseret på felttype

Du kan bruge en variabel til at holde det kumulative beløb:

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 

Ovenstående forespørgsel antager, at der kun er to typer ACTION_TYPE værdier, nemlig 'ADD' og 'DEDUCT' . Derfor, hvis ACTION_TYPE er ikke lig med 'ADD' , så er det lig med 'DEDUCT' .

Demo her




  1. Mellemrum og øer på 2 kolonner - hvis kolonne A fortløbende og kolonne B er identiske

  2. Hvad er en databaseforespørgsel?

  3. MySQL Triggers indsæt i en anden tabel

  4. php mysql avanceret søgning udvalgte boks- og radioboksproblemer