よりも、私はこのように見える二つのテーブルがある場合、2つの行を比較しますSQL Serverの - マッチが、ピック行X
event_ap
Event a_nr tnr date timestamp knr maschnr
PAN 123 2203 2017-01-23 21600 11 x222
PAN 132 2203 2017-01-22 21600 22 x222
PAB 123 2203 2017-01-23 28523 11 x222
PAN 555 2203 2017-01-23 14023 33 x222
PAN 555 2201 2017-01-23 21235 44 x222
PAB 222 2202 2017-01-23 21245 44 x222
PAN 666 2202 2017-01-28 35000 44 x222
PAB 666 2202 2017-01-28 35000 44 x222
pers_stm
name knr
Test1 11
Test2 22
Test3 33
Test4 44
は、だから私は必要なものを、各ID(KNR)のための最後のレコードです。このための私のクエリはこのようになります
select *
From (
select *
from (select *
, row_number() over (partition by knr
order by date desc, timestamp desc) as RN
from event_ap
) X
where RN = 1
) Y
join pers_stm p on p.knr = Y.knr
しかし、これに問題があります。
あなたは表「event_ap」(最後の二つのレコード)の例では(同じタイムスタンプを含む)まったく同じデータを持つレコードがある以上見ることができるように唯一違いはEvent-ですタグ。
だから私は必要なもの、これまで私が持っているクエリに基づいて:
- を(テーブルevent_ap(日付、タイムスタンプ)の最後のレコードは、既に上記のクエリを達成します)
- 同じ日付、タイムスタンプおよびID(knr)を持つ2つのレコードがある場合は、イベントタグ「PAN」を持つレコードクエリ結果として
ありがとうございました!
まあ、ありがとう:D予想より簡単に –