3
私には助けが必要なシナリオがあります。私はスタックオーバーフローのような新しいですので、私は私の質問をする際に間違いをするかどうかを教えてください。フィードバックをお待ちしています。SQLクエリの親値と最後に置換された値を取得する方法
私は次のような値であるSQL Serverのテーブルで働いています:私は最も古く、古いものがあることで、最新の値を取得するクエリを提唱しようとしています
OldValue NewValue Date
------------------------------------
1 2 2016-08-01
2 3 2016-08-03
101 102 2016-08-06
102 103 2016-08-08
103 105 2016-08-14
201 202 2016-08-06
202 203 2016-08-08
203 205 2016-08-14
205 209 2016-08-18
交換された。私はこのような出力を探しています。
OldValue NewValue
--------------------------
1 3
101 105
201 209
次のように私はこのために提唱したクエリは次のとおりです。
select
a.OldCPN, b.NewCPN
from
test..TestTable a
inner join
TestTable b on a.NewCPN = b.OldCPN and a.date <= b.date
上記のクエリでは、私はまた、中間レベルで交換されるすべての値を取得しています。しかし、私は最も古い値とそれが置き換えられる最新の値を持つ行だけを必要とします。
これに関するお手伝いがあります。
ありがとうございます。
感謝を処理するために、以下に、クエリの最後の部分を変更します。それは魅力のように働いた。私はSQL Serverの階層的なクエリにあまり慣れていません。このクエリは、私の考え方を広げました。 –
ちょうどチェックしたかったのですが、値が増えていない場合には、できることがありますか? –
編集されたクエリを表示 – Squirrel