時間ごとに集計を行い、その結果が空であっても何か表示するようにしたいです。
時間ごとのテーブルを作成し、外部結合をすれば[NULL]で値が取得できると思ったのですが、
私の場合、時間ごとのグループ化にプラスして、「年、月、日」でのグループ化が必要なためうまくいきません。
うまくいかないSQL
SQL
1SELECT 2 DATEPART(YEAR,dtDateTime) AS 年, 3 DATEPART(MONTH,dtDateTime) AS 月, 4 DATEPART(DAY,dtDateTime) AS 日, 5 TimeGroup.timeunit AS 時間, 6 count(dtDateTime) 7FROM 8 sample RIGHT JOIN tblTimeUnit ON sample.timeunit = TimeGroup.timeunit 9WHERE 10 sample.dtDateTime >= '2019/01/01 00:00:00' AND sample.dtDateTime <= '2019/01/31 23:59:59' 11GROUP BY 12 DATEPART(YEAR,dtDateTime), 13 DATEPART(MONTH,dtDateTime), 14 DATEPART(day,dtDateTime), 15 TimeGroup.timeunit 16ORDER BY 17 DATEPART(YEAR,dtDateTime), 18 DATEPART(MONTH,dtDateTime), 19 DATEPART(day,dtDateTime), 20 TimeGroup.timeunit
TimeGroupテーブルを年、月、日でグループ化できないので期待する値が取得できないのだと思うのですが、TimeGroupに年月日ごとの時間を作成するのは途方もない気がしますし、どうするのが良いのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。