hatena
hatena
2019/03/26 (火) 16:25:45
私も名前なしさんと同様のSQLにします。
名前なしさんと同じロジックですが、、、
PARAMETERS 基準日を入力してください DateTime;
SELECT
氏名,
Round(Avg(時間),1) AS 6ヶ月平均,
Round(Avg(IIf(対象月>=DateAdd('m',-4,[基準日を入力してください]),時間,Null)),1) AS 5ヶ月平均,
Round(Avg(IIf(対象月>=DateAdd('m',-3,[基準日を入力してください]),時間,Null)),1) AS 4ヶ月平均,
Round(Avg(IIf(対象月>=DateAdd('m',-2,[基準日を入力してください]),時間,Null)),1) AS 3ヶ月平均,
Round(Avg(IIf(対象月>=DateAdd('m',-1,[基準日を入力してください]),時間,Null)),1) AS 2ヶ月平均,
Round(Avg(IIf(対象月=[基準日を入力してください],時間,Null)),1) AS 当月
FROM 労働時間データ
WHERE [対象月] Between DateAdd('m',-5,[基準日を入力してください]) And [基準日を入力してください]
GROUP BY 氏名;
変更点。
- PARAMETERS でデータ型を日付/時刻型に指定することで、日付以外の入力を拒否する。
- WHERE で絞り込んでいるので、IIfの条件は
>=
だけでいい。
通報 ...