これは十分に単純なはずですが、どういうわけか私の脳は機能しなくなりました。
関連するテーブルが 2 つあります。
表1:
ID (PK), Value1
表 2:
BatchID, Table1ID (FK to Table 1 ID), Value2
サンプルデータ:
表1:
ID Value1
1 A
2 B
表 2:
BatchID Table1ID Value2
1 1 100
2 1 101
3 1 102
1 2 200
2 2 201
ここで、表 1 の各レコードに対して、表 2 で一致するレコードを作成したいと思いますが、最新のレコードのみです (バッチ ID は連続しています)。上記の例の結果は次のようになります。
Table1.ID Table1.Value1 Table2.Value2
1 A 102
2 B 201
問題は単純で、テーブル 2 との結合結果を制限する方法です。SO にも同様の質問がありましたが、私のようなものは見つかりません。これは、MySQL での類似した例です: LIMITing an SQL JOIN
大きなデータセットになるため、速度が依然として最優先事項ですが、私はどのようなアプローチにもオープンです。