teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

追記修正

2016/07/27 22:50

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -39,4 +39,4 @@
39
39
  ###追記
40
40
  SQL内のSUM関数使っている所ですが、
41
41
  列名指定のCOUNTはNULLはカウント対象外となるので、
42
- **COUNT(開始日時)**で事足りますね。
42
+ A.Ichiさん掲示のコードのように**COUNT(開始日時)**で事足りますね。

4

追記

2016/07/27 22:50

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -34,4 +34,9 @@
34
34
  この箇所は検索条件のTO条件と一致させても良いと思います。
35
35
 
36
36
  一応月内の最終日まで表示することを考慮して月末日とは書いておりますが・・・
37
- 後、**開始日、終了日の項目は時間部を切り捨てていることを前提**として書いてますので悪しからず・・・
37
+ 後、**開始日、終了日の項目は時間部を切り捨てていることを前提**として書いてますので悪しからず・・・
38
+
39
+ ###追記
40
+ SQL内のSUM関数使っている所ですが、
41
+ 列名指定のCOUNTはNULLはカウント対象外となるので、
42
+ **COUNT(開始日時)**で事足りますね。

3

コードミス修正

2016/07/27 22:47

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -19,7 +19,7 @@
19
19
  FROM
20
20
  日付マスタ M
21
21
  LEFT JOIN HOGE H
22
- ON M.日付 BETWEEN H.開始日 AND COALESCE(M1.終了日, 月末日)
22
+ ON M.日付 BETWEEN H.開始日 AND COALESCE(H.終了日, 月末日)
23
23
  GROUP BY
24
24
  M.日付
25
25
  ) T

2

レイアウト修正

2016/07/27 16:03

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -30,7 +30,7 @@
30
30
  ```
31
31
 
32
32
  SQLの結合所条件の部分は、
33
- 終了日時NULLを考慮して月末日を入れる形を取ってますが、
33
+ **終了日時NULLを考慮**して月末日を入れる形を取ってますが、
34
34
  この箇所は検索条件のTO条件と一致させても良いと思います。
35
35
 
36
36
  一応月内の最終日まで表示することを考慮して月末日とは書いておりますが・・・

1

コード記載ミス修正

2016/07/27 15:58

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -11,7 +11,7 @@
11
11
  M.日付
12
12
  , SUM(
13
13
  CASE
14
- WHEN M1.START_NUM IS NOT NULL
14
+ WHEN H.開始日時 IS NOT NULL
15
15
  THEN 1
16
16
  ELSE 0
17
17
  END