医師と患者の出会いを表す SQL Server のテーブルがあります。列の 1 つは、出会いがいつ始まったかを表す日時フィールドです。出会いの SCHEDULED 時間を表す別のフィールドがあります。
次の基準を満たす (特定の日の) 1 つの出会いを分離するためのクエリを作成しようとしています。
- 遭遇が開始された場合、開始する最後の遭遇 - または -
- 遭遇が開始されていない場合、最初に予定された遭遇
だから、私は次のようなものが欲しいです:
SELECT
TOP 1 *
FROM
TABLE
ORDER BY
CASE WHEN STARTED IS NULL THEN 0 ELSE 1 END DESC,
IF STARTED IS NULL
SCHEDULED ASC
ELSE
STARTED DESC
私はそれを正確に行うことができないことを理解していますが、これを行う他の方法が欠けているのではないかと思っていました.
その他の情報:
- 比較対象となる出会いはすべて、同じ暦日に発生します。
- これは、出会いが発生した/予定されている部屋で分割している、より大きなクエリの一部です。
- その 1 つの出会いを正確に特定できる限り、その部屋での残りの出会いは気にしません。