以下の 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
データ生成の背後にあるロジック:
- 最初の表には、学校のリストと利用可能な座席が含まれています ( FCFSベースで学生に割り当てられる座席の優先順位とともに)
- 2 番目のテーブルには、学校に入学した学生のリストに関するデータと、入学日およびコースの開始年/終了年が含まれています。
- 各生徒に割り当てられた学校である「Fill Order」に基づいて入力する必要があります。
しばらく問題を分析した結果、選択クエリだけではこれを達成できない可能性があるという結論に達しました。現在、テーブルごとに 2 つのカーソルを使用して行ごとにレコードを処理することを計画しています。それを行うためのより良い方法はありますか、それともselectステートメントを介して可能ですか? ティア
ノート:
- 私が使用しているデータベースは Oracle 10g です
- 一時テーブルを作成したり、テーブルのデータを変更したりできません。私は厳密にデータベースへの読み取り専用アクセス権を持っています。