質問編集履歴
4
GROUP BY句の漏れを修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -76,6 +76,8 @@
|
|
76
76
|
|
77
77
|
|
78
78
|
|
79
|
+
以降省略
|
80
|
+
|
79
81
|
|
80
82
|
|
81
83
|
つまり要件としては、
|
@@ -122,11 +124,13 @@
|
|
122
124
|
|
123
125
|
select
|
124
126
|
|
125
|
-
|
127
|
+
ID,MAX(入力日)
|
126
128
|
|
127
129
|
from
|
128
130
|
|
129
|
-
元データ
|
131
|
+
元データ
|
132
|
+
|
133
|
+
group by ID) a2
|
130
134
|
|
131
135
|
on
|
132
136
|
|
@@ -144,7 +148,7 @@
|
|
144
148
|
|
145
149
|
and
|
146
150
|
|
147
|
-
a1.入力日 < カレンダー.日付
|
151
|
+
a1.入力日 <= カレンダー.日付
|
148
152
|
|
149
153
|
```
|
150
154
|
|
3
コードの記述漏れを修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -142,6 +142,10 @@
|
|
142
142
|
|
143
143
|
カレンダー.曜日 = 金
|
144
144
|
|
145
|
+
and
|
146
|
+
|
147
|
+
a1.入力日 < カレンダー.日付
|
148
|
+
|
145
149
|
```
|
146
150
|
|
147
151
|
|
2
基準日について説明を加えました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
+
◆作りたいデータ(要点抜粋)
|
8
|
+
|
7
9
|
|ID|基準日|入力日|入力データ|
|
8
10
|
|
9
11
|
|--:|--:|--:|:--:|
|
@@ -34,7 +36,7 @@
|
|
34
36
|
|
35
37
|
上記を構成する元データは以下のような形である。
|
36
38
|
|
37
|
-
◆元データ
|
39
|
+
◆元データ(要点抜粋)
|
38
40
|
|
39
41
|
|ID|入力日|入力データ|
|
40
42
|
|
@@ -86,6 +88,18 @@
|
|
86
88
|
|
87
89
|
|
88
90
|
|
91
|
+
※基準日について
|
92
|
+
|
93
|
+
・毎週金曜日を基準日として考える。
|
94
|
+
|
95
|
+
・基準日はカレンダーのデータベースから取得する。
|
96
|
+
|
97
|
+
・毎週の入力日について、金曜日にチェックできるようにする。
|
98
|
+
|
99
|
+
・基準日ごとに最新の入力日と入力データを取得する。
|
100
|
+
|
101
|
+
|
102
|
+
|
89
103
|
##うまくいかないポイント
|
90
104
|
|
91
105
|
以下のようなSQLを記載したが、データが途中で途切れてしまう。
|
1
カレンダー情報が漏れていたので、追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,6 +54,28 @@
|
|
54
54
|
|
55
55
|
|
56
56
|
|
57
|
+
◆カレンダー(追記しました)
|
58
|
+
|
59
|
+
|日付|曜日|
|
60
|
+
|
61
|
+
|--:|:--:|
|
62
|
+
|
63
|
+
|1/1|金|
|
64
|
+
|
65
|
+
|1/2|土|
|
66
|
+
|
67
|
+
|1/3|日|
|
68
|
+
|
69
|
+
|1/4|月|
|
70
|
+
|
71
|
+
|1/5|火|
|
72
|
+
|
73
|
+
|1/6|水|
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
57
79
|
つまり要件としては、
|
58
80
|
|
59
81
|
・基準日以前で最も新しい入力日
|
@@ -72,11 +94,15 @@
|
|
72
94
|
|
73
95
|
select
|
74
96
|
|
75
|
-
ID,入力日,入力データ
|
97
|
+
ID,入力日,入力データ,カレンダー.日付 --「元データ」は省略します
|
76
98
|
|
77
99
|
from
|
78
100
|
|
79
101
|
元データ a1
|
102
|
+
|
103
|
+
cross join
|
104
|
+
|
105
|
+
カレンダー
|
80
106
|
|
81
107
|
join(
|
82
108
|
|
@@ -95,6 +121,12 @@
|
|
95
121
|
and
|
96
122
|
|
97
123
|
a1.入力日=a2.入力日
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
where
|
128
|
+
|
129
|
+
カレンダー.曜日 = 金
|
98
130
|
|
99
131
|
```
|
100
132
|
|