6

I am having trouble in querying in SQL Server 2008, I searched the internet but I found nothing or it is not giving me any ideas on how to do it.

Using Northwind database, I need to query the table OrderDetails and select OrderID and UnitPrice showing something like this,

OrderID   -    UnitPrice
------------------------
10248     -     14.00
10248     -     9.80
10248     -     34.80
10249     -     18.60

Result should be:

OrderID   -    UnitPrice
------------------------
10248     -     14.00
10248     -     23.80
10248     -     58.6
10249     -     18.60
Pradeep Pati
  • 5,779
  • 3
  • 29
  • 43
Markmeplease
  • 145
  • 14

2 Answers2

5

Please check:

;with T as(
    select 
        *, 
        ROW_NUMBER() over (partition by OrderID order by OrderID) RNum
    from YourTable
)
select 
    *, 
    (select sum(UnitPrice) from T b where b.OrderID=a.OrderID and b.RNum<=a.RNum) CumTotal
From T a

Try in SQL Fiddle

TechDo
  • 18,398
  • 3
  • 51
  • 64
-2

Can refer following:

SELECT t1.id,
       t1.unitprice,
       SUM(t2.unitprice) AS SUM
FROM t t1
INNER JOIN t t2 ON t1.id >= t2.id
GROUP BY t1.id,
         t1.unitprice
ORDER BY t1.id

Demo:

SQLFIDDLE DEMO

Freelancer
  • 9,008
  • 7
  • 42
  • 81
  • -1, incorrect. He wants to sequentially sum the rows with the **same** ID, not consecutive IDs. – Matthew May 14 '13 at 04:55