2

私はOracle APEXで作業しています。次の4つの表からレポートを作成してPatient History Junction and Diseaseいますが、作成できません。

したいSELECT

患者テーブルからの Pat_Name,Pat_Age`

.

履歴テーブルからのTreated_By、Sys_Date

疾患テーブルからの Dis_Name

Junction.の間にテーブルがありHistory and Diseaseます。以下は、上記のシナリオの図です。

ここに画像の説明を入力

4

1 に答える 1

1

JOIN次のように、各テーブルが必要です。

select p.pat_name,
  p.pat_age,
  h.treated_by,
  h.sys_date,
  d.dis_name
from patient p
inner join history h
  on p.pat_id = h.pat_id
  and p.app_id = h.app_id
left join junction j
  on p.pat_id = j.pat_id
left join disease d
  on j.dis_id = d.dis_id

結合構文について学習するのに助けが必要な場合は、この役立つ結合の視覚的な説明を確認してください。

INNER JOINbetweenpatienthistoryand を使用して、 の両方のキーでテーブルを結合したことに注意してくださいpatient。このタイプの結合では、両方のテーブルで一致するすべてのレコードが返されます。

私はLEFT JOIN、他の 2 つのテーブルに一致するレコードがなくても、すべての患者/病歴データを返す他の 2 つのテーブルで を使用しました。INNER JOIN必要に応じて、これらのテーブルでを使用できる場合があります。

于 2013-01-17T10:06:11.270 に答える