SQL SERVER 2008 R2 に次のようなテーブルがあります
TABLE(
[Id] [int],
[FK_Id] [int],
[SequenceNumber] [smallint],
[value] [smallint]
(
Id は一意の主キーですが、FK_Id が同じでシーケンス番号が異なる行が複数あります。同じ FK_Id と最も高い SequenceNumber を持つ 2 つの行の値を比較したいと考えています。何かのようなもの
SELECT t1.value - t2.value
From Table t1
INNER JOIN Table t2
On t1.FK_Id = t2.FK_Id
私の問題は、どのように整理するかを理解できないため、FK_ID ごとに最も高い SequenceNumber を持つ 2 つだけを取得することです。SELECT ステートメント内で実行できますか、それとも段階的に行う必要がありますか?