1

以下の 2 つのテーブルに基づいてレポートを生成しようとしています。

  Name        Start Year    End Year    No. Of Students Fill Order
School-ABC      2000         2004            1             1
School-DEF      2000         2004            2             3    
School-GHI      2000         2004            1             2    

  Name        Start Year    End Year    Joined On
Student-1       2000         2004        01-Jan
Student-2       2000         2004        03-Jan
Student-3       2000         2004        02-Jan
Student-4       2000         2004        15-Jan

予想される出力は以下のとおりです。

  Name        Start Year    End Year    Joined On    School
Student-1       2000         2004        01-Jan     School-ABC
Student-2       2000         2004        03-Jan     School-DEF
Student-3       2000         2004        02-Jan     School-GHI
Student-4       2000         2004        15-Jan     School-DEF      

データ生成の背後にあるロジック:

  1. 最初の表には、学校のリストと利用可能な座席が含まれています ( FCFSベースで学生に割り当てられる座席の優先順位とともに)
  2. 2 番目のテーブルには、学校に入学した学生のリストに関するデータと、入学日およびコースの開始年/終了年が含まれています。
  3. 各生徒に割り当てられた学校である「Fill Order」に基づいて入力する必要があります。

しばらく問題を分析した結果、選択クエリだけではこれを達成できない可能性があるという結論に達しました。現在、テーブルごとに 2 つのカーソルを使用して行ごとにレコードを処理することを計画しています。それを行うためのより良い方法はありますか、それともselectステートメントを介して可能ですか? ティア

ノート:

  • 私が使用しているデータベースは Oracle 10g です
  • 一時テーブルを作成したり、テーブルのデータを変更したりできません。私は厳密にデータベースへの読み取り専用アクセス権を持っています。
4

1 に答える 1