Hallo, ich habe eine Tabelle und moechte die ergebnisse pro tupel addieren beispiel: Datum Wert Wert total 1.1.10 5 5 2.1.10 4 9 3.1.10 1 10 usw. wenn ich sum benutze zeigt er mir nur sie Summierung aller Tupel an und nicht fuer jedes einzeln, hat jemand ne idee?
Hi , I have an idea in order to achieve this ıf i underdstand correctly.create table Tbl_Ex(Datum varchar (10), Wert int)insert into Tbl_Ex values('1.1.10',5)insert into Tbl_Ex values('2.1.10',4)insert into Tbl_Ex values('3.1.10',1)WITH tblCTEAS (select Datum,Wert,ROW_NUMBER() OVER (ORDER BY Datum) AS RowNumber from Tbl_Ex e )SELECT Datum,Wert ,(Select SUM(t2.Wert) as SumX from tblCTE t2 where t2.RowNumber<=t1.RowNumber) as Werttotal FROM tblCTE t1
Etwas einfacher als die vorherige Lösung ist SELECT Datum, i1, (SELECT SUM(t2.i1) AS SumX FROM @t t2 WHERE t2.Datum<=t1.Datum) AS i1total FROM @t t1; Das Problem mit dieser Lösung liegt nur darin, dass sie für grössere Datenmengen nicht geeignet ist, da die Performance einbrechen wird. Da musst Du in Deiner eigenen Umgebung mal testen, ob die Performance für dich in Ordnung ist. Alternativen findest Du hier: http://weblogs.sqlteam.com/mladenp/archive/2009/07/28/SQL-Server-2005-Fast-Running-Totals.aspx Es sollte einfacher werden mit der nächsten SQL Server Version.
Das ist wahrscheinlich auch noch interessant für Dich: http://www.insidesql.org/blogs/christoph_ingenhaag/2011/02/28/fortlaufende-summe