sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan tilføjes næste og trækkes foregående række i SQL Server baseret på betingelse

Du bør summere en CASE udtryk, der kan skelne mellem debet og kreditering:

SELECT 
    Id,
    TransactionType,
    SUM(CASE WHEN TransactionType = 'Receipt' THEN value ELSE -1.0*value END)
        OVER (ORDER BY Id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS DiffValue
FROM #Temp
ORDER BY Id;



  1. Sådan fungerer OCT()-funktionen i MySQL

  2. Sådan sammenkædes flere rækker efter rækkefølge i Oracle10g

  3. Oracle:Få maksimal værdi af en gruppe?

  4. MySQL/PHP output array gentager forespørgslen og viser derefter resultatet, hvordan kan jeg fjerne forespørgslen?