ホームページ  >  に質問  >  本文

書き換えられたタイトルは「30 日単位のレコードの取得」です。

月に 1 回通知する必要がある予定を取得する次のクエリがあります (まだ完了していない場合)。 現在の日付から過去 30、60、90、120 などのレコードを取得したいと考えています。

リーリー

DATEDIFF を使用せずにこれを実現する別の方法はありますか?このクエリのパフォーマンスを改善したいと考えています。

P粉633309801P粉633309801203日前333

全員に返信(2)返信します

  • P粉860370921

    P粉8603709212024-03-30 15:08:42

    次のクエリを使用して、予定の今月の日付と今日の日付を比較できます。
    また、月末に予約を入れるために、それが月の最終日であるかどうかもテストします。たとえば、2 月 28 日 (うるう年ではない) がある場合、その月の日付 >= 28 (29、30、および 31) を受け入れます。これがなければ、これらの日付は失われます。
    この方法には、週末の予定を忘れてしまうという、現在のシステムと同じ問題があります。

    リーリー

    返事
    0
  • P粉186904731

    P粉1869047312024-03-30 11:36:18

    さて、日付や日付の違いはとりあえず脇に置いておきましょう。この質問の観点から見ると、その人は過去のすべての予定を見つけようとしているのですが、必ずしも将来の別の予定を見つけようとしているわけではありません。たとえば、医師に「1か月後にまた来て、状況が変わったかどうかを確認してください」と再診の予約を入れます。このことから、予約フォームに患者 ID が記載されているのではないかと考えました。したがって、質問は 30 日前、60 日前、または 90 日前を振り返って、将来予定されている予定があるかどうかを確認することに移るかもしれません。すでに予約が入っている場合は、電話で来院を促す必要はありません。

    そうは言っても、私は別の方法で開始し、過去 90 日以内に予約をとったすべての患者を対象にして、フォローアップ スケジュールでフォローアップの予約を取っているかどうか (または受けていないか) を確認します。このようにして、事務スタッフは当該患者に連絡してカレンダーに登録してもらうことができます。

    過去 90 日間の特定の患者の最大予約数をすべて取得することから始めます。誰かが 90 日前に予約を入れ、59 日前にフォローアップを受けた場合、フォローアップが確実に行われたことを確認するために、最新の予約のみを気にする可能性があります。

    リーリー

    この固定リストと開始日から始めて、私たちが気にするのは、現在の日付が最後の日付になるまでの日数だけです。 Xデーですか? datediff を使用してソートするだけです。残りの日数が視覚的にわかります。最後のアポイントメントからの日数を知るだけで、それらを 30 日、60 日、または 90 日のバケットに分割してみると、降順に並べ替えて、直前のアポイントメントではなく最も古いアポイントメントを最初に呼び出すのと同じくらい簡単になる可能性があります。 20 日後に電話リストを削除しても、まだ約束がなく、予定の 30 日が近づいている可能性もあります。

    リーリー

    直接的な質問に対して単に回答を提供するだけでは、適切な目的が果たせない場合があります。望ましい最終結果のニーズをより正確に把握できるようになれば幸いです。繰り返しますが、上記は、予約をスケジュールするためのフォローアップ電話のための患者フォームに参加することを意味します。

    返事
    0
  • キャンセル返事