質問編集履歴

5

create tableを作成

2019/05/17 02:04

投稿

rms398
rms398

スコア50

test CHANGED
File without changes
test CHANGED
@@ -24,19 +24,77 @@
24
24
 
25
25
  order t2.西暦日 desc);
26
26
 
27
- ```
28
-
29
27
 
30
28
 
31
29
  参考用レコード
32
30
 
33
- 売上表
31
+ CREATE TABLE 売上表(
34
32
 
35
-  月日 担当者コード 本日売上 当月売上 当期売上 前年同日月間売上 前年同日年間売上
33
+  月日
36
34
 
37
- カレンダマスタ
35
+  担当者コ
38
36
 
37
+  本日売上
38
+
39
+  本日粗利
40
+
41
+  当月売上
42
+
43
+  当月粗利
44
+
45
+  当期売上
46
+
47
+  当期粗利
48
+
49
+  前年同日月間売上
50
+
51
+  前年同日月間粗利
52
+
53
+  前年同日年間売上
54
+
55
+  前年同日年間粗利
56
+
57
+  本部コード
58
+
59
+  営業所コード
60
+
61
+  部コード
62
+
63
+  課コード
64
+
65
+ )
66
+
39
-  西暦日(8桁) 自社営業日(フラグ)
67
+ CREATE TABLE カレンダーマスタ(
68
+
69
+  DATE NO.
70
+
71
+  和暦日
72
+
73
+  元号ID
74
+
75
+  表示日(6)
76
+
77
+  西暦日(8)
78
+
79
+  西暦日(6)
80
+
81
+  曜日
82
+
83
+  祝祭日
84
+
85
+  自社営業日
86
+
87
+  作成日
88
+
89
+  作成時刻
90
+
91
+  最終更新日
92
+
93
+  最終更新時刻
94
+
95
+ )
96
+
97
+ ```
40
98
 
41
99
 
42
100
 

4

売上表の追加

2019/05/17 02:04

投稿

rms398
rms398

スコア50

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  売上表
34
34
 
35
-  月日 担当者コード 本日売上
35
+  月日 担当者コード 本日売上 当月売上 当期売上 前年同日月間売上 前年同日年間売上
36
36
 
37
37
  カレンダーマスタ
38
38
 

3

レコードを記入

2019/05/17 00:56

投稿

rms398
rms398

スコア50

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,8 @@
1
1
  一営業日前の日付を調べてその日の売上金を抽出したいです。
2
+
3
+
4
+
5
+ 使っている機種はAS400のデータ転送時にIBMiからの転送でつかっているsqlです。
2
6
 
3
7
 
4
8
 
@@ -6,27 +10,39 @@
6
10
 
7
11
  ```sql
8
12
 
9
- select t1.日,t1.担当者コード,t1.売上
13
+ select t1.日,t1.担当者コード,t1.本日売上
10
14
 
11
15
  from 売上 t1
12
16
 
13
- where t1.日(3,4桁 例4月1日→401) =
17
+ where t1.日(3,4桁 例4月1日→401) =
14
18
 
15
- (select date_format(t2.日(8桁),%c%d)
19
+ (select date_format(t2.西暦日(8桁),%c%d)
16
20
 
17
21
  from カレンダーマスタ t2
18
22
 
19
- where t2.営業日フラグ = 1 and t2.日(8桁)< now()
23
+ where t2.自社営業日 = 1 and t2.西暦日(8桁)< now()
20
24
 
21
- order t2.日 desc);
25
+ order t2.西暦日 desc);
22
26
 
23
27
  ```
24
28
 
25
29
 
26
30
 
27
- 今日以前でかつ営業日フラグが1である日の1件目(一営業日前)を使ってその日の売上金を抽出するということです。
31
+ 参考用レコード
28
32
 
33
+ 売上表
34
+
35
+  月日 担当者コード 本日売上
36
+
37
+ カレンダーマスタ
38
+
39
+  西暦日(8桁) 自社営業日(フラグ)
40
+
41
+
42
+
43
+ 今日以前でかつ自社営業日が1である日の1件目(一営業日前)を使ってその日の売上金を抽出するということです。
44
+
29
- 売上の日(3,4桁%c%d)とカレンダーマスタの日(8桁YYYYMMDD)は表示形式が違うのでカレンダーマスタの日はdate_formatで3,4桁の日付形式%c%dに変更する魂胆です。
45
+ 売上の日(3,4桁%c%d)とカレンダーマスタの西暦日(8桁YYYYMMDD)は表示形式が違うのでカレンダーマスタの西暦日はdate_formatで3,4桁の日付形式%c%dに変更する魂胆です。
30
46
 
31
47
 
32
48
 

2

2019/05/16 23:36

投稿

rms398
rms398

スコア50

test CHANGED
@@ -1 +1 @@
1
- 一営業日前の日付を使ってその日の売上高を抽出するしたい
1
+ 一営業日前の日付を使ってその日の売上高を抽出したい
test CHANGED
File without changes

1

2019/05/16 15:12

投稿

rms398
rms398

スコア50

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  from カレンダーマスタ t2
18
18
 
19
- where 営業日フラグ = 1 and 日付(8桁)< now()
19
+ where t2.営業日フラグ = 1 and t2.日付(8桁)< now()
20
20
 
21
21
  order t2.日付 desc);
22
22