mayu
2019/10/27 (日) 22:40:00
76b28@61ad5
※ 続き
SELECT x.リマインダーID
, z.日付
, Weekday( z.日付 ) As 曜日番号
, ( Day( z.日付 ) + 6 ) \ 7 As 週番号
FROM T_リマインダー x
, T_条件 y
, T_日付 z
WHERE x.リマインダーID = y.リマインダーID
AND x.開始年 <= Year( z.日付 )
AND x.終了年 >= Year( z.日付 )
AND y.対象月_from <= Month( z.日付 )
AND y.対象月_to >= Month( z.日付 )
AND y.週番号_from <= ( Day( z.日付 ) + 6 ) \ 7
AND y.週番号_to >= ( Day( z.日付 ) + 6 ) \ 7
AND y.曜日番号_from <= Weekday( z.日付 )
AND y.曜日番号_to >= Weekday( z.日付 )
AND (
( x.リマインダー種別 = 2 AND y.日番号 = 0 )
OR
( x.リマインダー種別 = 1
AND
z.日付 =
DateSerial( Year( z.日付 - y.日番号 ),
Month( z.日付 - y.日番号 ) + 1, y.日番号 )
)
)
ORDER BY 1, 2 ;
結果 ( 一部抜粋 )
リマインダーID | 日付 | 曜日番号 | 週番号 |
---|---|---|---|
1 | 2019/01/12 | 7 | 2 |
1 | 2019/01/26 | 7 | 4 |
2 | 2019/01/20 | 1 | 3 |
2 | 2019/02/17 | 1 | 3 |
3 | 2019/01/04 | 6 | 1 |
3 | 2019/01/07 | 2 | 1 |
4 | 2019/01/10 | 5 | 2 |
4 | 2019/01/31 | 5 | 5 |
4 | 2019/02/10 | 1 | 2 |
4 | 2019/02/28 | 5 | 4 |
5 | 2019/03/04 | 2 | 1 |
5 | 2019/03/11 | 2 | 2 |
5 | 2019/04/01 | 2 | 1 |
5 | 2019/04/08 | 2 | 2 |
6 | 2019/10/22 | 3 | 4 |
通報 ...