質問編集履歴

3

henkou

2019/10/10 02:16

投稿

ms5025
ms5025

スコア292

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
 
58
58
 
59
- select sum(amount) from 対象レコード where 対象レコード.date >  [指定日] 
59
+ select sum(amount) from 対象レコード where 対象レコード.date <=  [指定日] 
60
60
 
61
61
   
62
62
 

2

変更

2019/10/10 02:16

投稿

ms5025
ms5025

スコア292

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
 
58
58
 
59
- select sum(amount,date) from 対象レコード where 対象レコード.date >  [指定日] 
59
+ select sum(amount) from 対象レコード where 対象レコード.date >  [指定日] 
60
60
 
61
61
   
62
62
 

1

質問内容の変更

2019/10/10 02:16

投稿

ms5025
ms5025

スコア292

test CHANGED
@@ -1 +1 @@
1
- 指定テーブル以のデータも一緒に取得するSQL
1
+ 指定テーブルと、現在日付のデータをサマリーして取得するSQL
test CHANGED
@@ -1,10 +1,12 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- 指定時刻テーブルを使ってleft joinしてデータを取得したいのですが
3
+ 指定時刻テーブルを使ってその日以前のデータを集計して一覧にするデータを取得したいのですが
4
4
 
5
- その、指定日テーブル+現在時刻のデータを取ってくるにはどのようなSQLをかけば一番簡潔でしょうか
5
+ その、指定日テーブル+現在時刻の以前のデータでサマリーするにはどのようなSQLをかけば一番簡潔でしょうか
6
6
 
7
7
 
8
+
9
+ 本日日付 2019-10-10 23:59:59
8
10
 
9
11
  指定日付テーブル
10
12
 
@@ -12,7 +14,7 @@
12
14
 
13
15
  1 2019-10-01 00:00:00
14
16
 
15
- 2 2019-10-05 00:00:00
17
+ 2 2019-10-05 23:59:59
16
18
 
17
19
 
18
20
 
@@ -32,7 +34,15 @@
32
34
 
33
35
 
34
36
 
37
+ 結果
35
38
 
39
+
40
+
41
+ 2019-10-01 4500yen
42
+
43
+ 2019-10-05 11000yen
44
+
45
+ 2019-10-10 18000yen
36
46
 
37
47
 
38
48
 
@@ -40,18 +50,16 @@
40
50
 
41
51
 
42
52
 
53
+ 指定日付テーブルを取得して
54
+
55
+ そのデータ+現在日付で以下のsqlをループ
43
56
 
44
57
 
45
58
 
59
+ select sum(amount,date) from 対象レコード where 対象レコード.date >  [指定日] 
46
60
 
47
- select id , amount,date from 指定びテーブル left join 対象レコード on 指定日テーブル.date = 対象レコード.date
61
+  
48
62
 
49
-  union
63
+ という複数sqlを走らせる形しか思いつきませんでしたが
50
64
 
51
- select id , amount,date from 指定びテーブル where 指定日テーブル.date = システム日付
52
-
53
-
54
-
55
- ユニオンとるくらいしか思いつかないのですが
65
+ sql一本実現可能でしょう
56
-
57
- これ以外にもっと簡潔に取得できる方法はありますか?