1

私は Oracle APEX で作業しています。患者と履歴の 2 つのテーブルから、医師によって治療された前月の患者のレポートを作成したいと考えています。ここに画像の説明を入力

Pat_id は、Patient テーブルの主キーであり、History テーブルの外部キーです。

(値のリスト)から月を選択することもでき、その月に基づいてレポートを表示する必要があるため、私 Pat_Name ,Pat_Age ,Treated_Byと その場所を表示するレポートが必要です。DateLOV

よろしくお願いします。

4

1 に答える 1

2
SELECT p.pat_name, p.pat_age, h.treated_by, h.date
  FROM patient p
  JOIN history h
    ON p.pat_id = h.pat_id
 WHERE EXTRACT(MONTH FROM h.date) = TO_NUMBER(:P1_MONTH)

(非常に基本的な結合条件)
順序付けが必要な場合は、これを SQL に含めるか、クラシック レポートのレポート定義で定義するか、対話型レポートの既定値として定義できます。

P1_MONTH: 選択リスト。値のリストについては、月を静的に定義するか (月番号を戻り値として、月名を表示として 12 エントリ)、またはクエリを使用することができます。

SELECT to_char(add_months(to_date('01/01/2012','DD/MM/YYYY'),LEVEL-1),'Month') display_value, LEVEL return_value
FROM dual
CONNECT BY LEVEL <= 12

変更時に送信する選択リストを設定します。

追加の注意として、スキーマで列名を大文字に設定してください。列は、作成時に特に定義されていない限り、常に大文字です。また、列名などに予約済みのキーワードを使用する場合も注意してDATEください。列に最適な名前ではない可能性があります...次のような便利な名前を付けてくださいTREATED_ON

于 2013-01-09T11:48:04.183 に答える