回答編集履歴
2
訂正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
売上ロットに対してウインドウ関数の**lag()**を用いて期間の範囲を作成し、その範囲での集計をとれば良いかと思います。
|
2
2
|
|
3
3
|
```SQL
|
4
|
-
select CD, LOT, 最古売上月, sum(t2.売上額)
|
4
|
+
select CD, LOT, substr(最古売上月, 1, 7) 最古売上, sum(t2.売上額)
|
5
5
|
from (
|
6
6
|
select CD, LOT, 最古売上月
|
7
7
|
, lag(最古売上月, 1, '0000/00/00')
|
@@ -11,5 +11,5 @@
|
|
11
11
|
) t1
|
12
12
|
left join 売上トラン
|
13
13
|
on t1.CD=t2.CD and t1.lag_最古売上月 < t2.売上日 and t2.売上日 <= t1.最古売上月
|
14
|
-
group by CD, LOT, 最古売上月
|
14
|
+
group by CD, LOT, substr(最古売上月, 1, 7)
|
15
15
|
```
|
1
訂正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
売上ロットに対してウインドウ関数の**lag()**を用いて期間の範囲を作成し、その範囲での集計をとれば良いかと思います。
|
2
2
|
|
3
3
|
```SQL
|
4
|
-
select CD, 最古売上月, sum(t2.売上額)
|
4
|
+
select CD, LOT, 最古売上月, sum(t2.売上額)
|
5
5
|
from (
|
6
6
|
select CD, LOT, 最古売上月
|
7
7
|
, lag(最古売上月, 1, '0000/00/00')
|
@@ -11,5 +11,5 @@
|
|
11
11
|
) t1
|
12
12
|
left join 売上トラン
|
13
13
|
on t1.CD=t2.CD and t1.lag_最古売上月 < t2.売上日 and t2.売上日 <= t1.最古売上月
|
14
|
-
group by CD, 最古売上月
|
14
|
+
group by CD, LOT, 最古売上月
|
15
15
|
```
|