2 つのテーブルがあり、1 つはタスクのリストです。それらのタスクの履歴値を含むもう一方。
各チェックの最新のイベント (およびその説明) のリストを生成する必要がありますが、そのリストが現在の日時から(タスク内で使用するためにフォーマットされた、実行する必要がある時間) をDate_Executed
引いたものよりも小さい限りは、 . ただし、.Timeframe
TimeFrame
DATEADD
active = 1
表:チェック
Check_id description TimeFrame active
1 Task One -24 0
2 Task Two -24 0
3 Task Forty -48 1
4 Task Somehin -128 1
表:イベント
Event_id Check_id Comment Date_Executed User_Executed
1 1 NULL 2012-09-18 16:10:44.917 admin
2 1 NULL 2012-09-25 11:39:01.000 jeff
3 4 Failed 2012-09-25 13:20:09.930 steve
4 4 Half failed 2012-09-25 13:05:09.953 marsha
5 2 NULL 2012-09-25 14:02:24.000 marsha
6 3 NULL 2012-09-18 16:10:55.023 marsha
私がこれまでに持っている最良の解決策は次のとおりです。
SELECT
a.[Date_Executed]
a.[Check_id],
a.[Comments],
b.[frequency],
b.[Check_id],
b.[description]
FROM
[checksdb].[dbo].events as a,
[checksdb].[dbo].checks as b
where
b.active = 1
and a.[Date_Executed] < = dateadd(HOUR,b.[frequency],GETDATE())
and a.Check_id = b.Check_id
order by Check_id, priority
と
select MAX(date_Executed), Task_id from daily_check_events group by Task_id
どちらも私が必要とするものを手に入れません。本当に助けが必要です。