0

特定のプロセスに従って、20 日間の範囲のレコードを取得する必要があります。

medical以下に示すようなデータを含むテーブルがあります。

SQLFIDDLEは次のとおりです。

ここに画像の説明を入力

ルール: グループが A3 の場合、20 日以内のすべての操作(to the same patient in the same hospital)は無料です。

したがって、2013 年 2 月 9 日までのすべての操作は無料です。(2013 年 1 月 20 日 + 20 日)

質問: A3 グループ プロセスが適用された日から 20 日以内にすべてのレコードを取得するにはどうすればよいですか?

4

1 に答える 1

1

自由に dat のデータ型を変更し、グループの名前を groupe に変更しました。

WITH modified_medical
     AS (SELECT hospital, pid, dat
           FROM medical
          WHERE groupe = 'A3')
  SELECT *
    FROM medical a, modified_medical b
   WHERE     b.hospital = a.hospital
         AND b.pid = a.pid
         AND a.dat BETWEEN b.dat AND b.dat + 20
ORDER BY a.hospital, a.pid, a.dat;

ここでフィドルのサンプル。

于 2013-07-22T13:34:38.780 に答える