過去 48 時間更新されていない未処理のサービス注文を従業員が持っているかどうかを通知する SQL スクリプトがあります。こんな感じ(簡略化)
select ServiceOrder, RepName from NotesTable
join OrdersTable on OrdersTable.OrderNumber=NotesTable.OrderNumber
having (DATEDIFF(day,max(NotesTable.LastModified),GETDATE()) >2)
これは基本的に、今日の日付を取得し、最新のメモの最終更新日を差し引いて、48 時間変更されていないサービス注文の数を吐き出すだけです。
私の問題は、サービス注文にメモがない場合、このスクリプトが機能しないことです。そのため、48 時間更新されていないにもかかわらず、レポートに表示されません。「メモがない場合も教えてください」と言う必要があるのはどのような「または」ですか。
「dateopened」フィールドを含む別のテーブルに参加することを考えた後、
OR (DATEDIFF(day,(NotesTable.DateOpened),GETDATE()) >2)
しかし、それは 48 時間より前のすべてのサービス注文を返すため、役に立ちません。
考え?