回答編集履歴

3

コードの間違いの修正

2018/03/10 02:24

投稿

hatena19
hatena19

スコア33740

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  WHERE
18
18
 
19
- t1.年月日 = t2.年月日 AND t1.商品列 = t1.商品列
19
+ t1.年月日 = t2.年月日 AND t1.商品列 = t2.商品列
20
20
 
21
21
  AND t2.[年月日 時刻] <= t1.[年月日 時刻]) AS 累計
22
22
 
@@ -26,4 +26,4 @@
26
26
 
27
27
 
28
28
 
29
- [年月日]、[商品列]が同じで、自分の[年月日 時刻]より前の[売上高]の合計を求める。
29
+ [年月日]、[商品列]が同じで、自分の[年月日 時刻]前の[売上高]の合計を求める。

2

回答の修正

2018/03/10 02:24

投稿

hatena19
hatena19

スコア33740

test CHANGED
@@ -1,9 +1,29 @@
1
- データ例では、商品ドは連番になってますが、実際のデータも連番が保障されてるのです連番とはかぎらないなら、かなり複雑かつ重いSQLになります。
1
+ 年月日 、商品列でグルプ化した累計とうことです
2
2
 
3
3
 
4
4
 
5
- 累計をクエリ取得する必要はありますか。レポートなら比較的簡単に取得できますが、それではだめですか。
5
+ 下記のSQLいい
6
6
 
7
7
 
8
8
 
9
+ ```SQL
10
+
11
+ SELECT
12
+
13
+ t1.*,
14
+
15
+ (SELECT Sum(t2.売上高) from 売上テーブル as t2
16
+
17
+ WHERE
18
+
19
+ t1.年月日 = t2.年月日 AND t1.商品列 = t1.商品列
20
+
21
+ AND t2.[年月日 時刻] <= t1.[年月日 時刻]) AS 累計
22
+
23
+ FROM 売上テーブル AS t1;
24
+
25
+ ```
26
+
27
+
28
+
9
- ~~また、商品列毎の累計はなく途中に別商品列がはいると累計がリセットされるという仕様もどのような意味があるのか疑問です。~~[年月日]が変わったら累がリセットされ(商品列毎、日付毎の累計)ということでしょうか
29
+ [年月日][商品列]が同じで、自分の[年月日 時刻]より前の[売上高]の合を求める。

1

回答の修正

2018/03/10 01:44

投稿

hatena19
hatena19

スコア33740

test CHANGED
@@ -6,4 +6,4 @@
6
6
 
7
7
 
8
8
 
9
- また、商品列毎の累計ではなく、途中に別の商品列がはいると累計がリセットされるという仕様もどのような意味があるのか疑問です。
9
+ ~~また、商品列毎の累計ではなく、途中に別の商品列がはいると累計がリセットされるという仕様もどのような意味があるのか疑問です。~~[年月日]が変わったら累計がリセットされる(商品列毎、日付毎の累計)ということでしょうか。