2014-11-28 9 views
5
+--------+---------+-------+--------+ 
| billID | orderId | price | date | 
+--------+---------+-------+--------+ 
|  1 |  1 | 100 | 1.3.12 | 
|  2 |  1 | 230 | 1.4.12 | 
|  3 |  1 | 300 | 1.5.12 | 
|  4 |  2 | 1000 | 1.3.12 | 
|  5 |  2 | 160 | 1.4.12 | 
|  6 |  3 | 400 | 1.3.12 | 
+--------+---------+-------+--------+ 

Chcę utworzyć widok, które mają kolumny, która suma wszystkich cen mają tę samą idZamówienia ale z datą wcześniejszą niż data wiersze. Tak:Jak mogę wybrać kolumnę do sumy całkowitej ceny z wcześniejszą datą

+--------+---------+-------+--------+--------------+ 
| billID | orderId | price | date | add-on price | 
+--------+---------+-------+--------+--------------+ 
|  |   |  |  |    | 
|  1 |  1 | 100 | 1.3.12 |   100 | 
|  2 |  1 | 230 | 1.4.12 |   330 | 
|  3 |  1 | 300 | 1.5.12 |   630 | 
|  4 |  2 | 1000 | 1.3.12 |   1000 | 
|  5 |  2 | 160 | 1.4.12 |   1160 | 
|  6 |  3 | 400 | 1.3.12 |   400 | 
+--------+---------+-------+--------+--------------+ 

Odpowiedz

2

Można użytkownik podzapytanie skorelowane za to:

select t.*, 
     (select sum(t2.price) 
     from table t2 
     where t2.orderId = t.orderId and t2.date <= t.date 
     ) as CumulativePrice 
from table t; 
Powiązane problemy