2016-03-29 11 views
0

Ich habe Tabelle wieWollen Ansicht mit dynamischen Werten

rno intial consumed bal 
1 500  120  380 
2 0  100  -100 
3 0  80  -80 

erstellen Ich bin Werte wie oben bekommen, aber ich Werte müssen wie unter I intial Sollwert 500 aus, die ich verbrauchen Wert abziehen will und sollte Show Balance als prvious Balance wie 380 sollte für die nächste Zeile in intial Balance zeigt mir bitte helfen, wie ich hier stucked wurde, während für diese Ansicht zu schaffen, aber ich habe die Schaffung Verfahren für diese suceeded aber ich brauche nur Ansicht

rno intial consumed bal 
1 500  120  380 
2 380  100  280 
3 280  80  200 
+0

Scheint mir zu geben .... prüfen diese Frage http: // Stackoverflow .com/questions/34354688/sql-remove-from-running-total oder Google SQL läuft insgesamt – Veljko89

+0

Welche RDBMS verwenden Sie? –

Antwort

2

Sie don erwähne nicht, welches RDBMS, aber th Sie müssen laufende Summe ist, scheint man die laufende Summe Sie suchen in einer Ansicht für SQL Server (und möglicherweise andere RDBMS)

SELECT * INTO Test FROM (VALUES 
(1, 500, 120), 
(2, 0, 100), 
(3, 0, 80)) A(rno,initial,consumed); 


GO  
CREATE VIEW SomeView AS  
WITH A AS(
    SELECT rno 
    ,initial 
    ,consumed 
    ,SUM(initial - consumed) OVER (ORDER BY rno ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bal 
    FROM Test) 
SELECT 
    rno 
    ,COALESCE(LAG(bal) OVER (ORDER BY rno), initial) initial 
    ,consumed 
    ,bal 
FROM A; 
GO 

SELECT * FROM SomeView ORDER BY rno 

rno   initial  consumed bal 
----------- ----------- ----------- ----------- 
1   500   120   380 
2   380   100   280 
3   280   80   200 
+0

oh vielen Dank Ich versuche, dies in meiner Abfrage implementieren Ich bin sehr glücklich mit diesem vielen Dank Ich denke, Sie sind ein großer Experte .. ich werde Ihnen viel danken –

Verwandte Themen