あるテーブルからレコードを取得し、別のテーブルでその値が存在するかどうかを調べるためにクエリを行う必要があるデータベースがあります。そのテーブルは複数のレコードを返す可能性があり、最新の日付のレコードが必要です。SQL Server - テーブル参照でのクエリのパフォーマンス
ので、表1は、基本的には、次のとおりです。何のテストはSTUDENT_IDのために表2に存在しない場合、私は、私は、レコードをつもりのよう
ID (Primary Key)
Name
Test_Score
そして、表2は
Test_Id (Primary)
Student_ID (Foreign Key)
Test_Score
Test_Date
です表1のスコアを使用したい場合は、表2のスコアを最新の日付で使用します。私はこれをC#コードで動作させていますが、クライアントはストアドプロシージャ内でそれをレポート目的で使用したいので、テーブルがかなり大きいのでパフォーマンスの問題が発生しています。また、この基本的な例は、実際には複数のテーブルに対して複数回発生します。
これを行うためのエレガントな方法があると確信していますが、高速で効率的ですが、カーソルを使用するだけでは何も出てこないようです。
誰かがストレートな解決法を知っていますか?
を改善することに同意テーブルステートメントといくつかのダミーデータ) –
少なくともテーブル名はいいと思いますが、あなたのdbスキーマはちょっとしたことで始まります。しかし、実際にはもっと知りません。 – Louis