Wie wäre es mit:
Code:
select
[MaterialNr], [BDatum], [BFolge],
case
when ROW_NUMBER() over (PARTITION by [MaterialNr] order by [BDatum] desc, [BFolge] desc)=1 then 'J'
else 'N'
end as KZ
from [dbo].[piro]
order by 1,2,3
Ergebnis:
Code:
111111111 2016-02-02 1 N
111111111 2016-02-17 2 N
111111111 2016-03-08 1 N
111111111 2016-03-11 1 J
222222222 2016-09-29 1 N
222222222 2016-09-29 2 N
222222222 2016-09-29 3 J
333333333 2015-01-20 1 N
333333333 2021-05-17 1 J
Wenn du kannst mach einen ClusterIndex auf [MaterialNr], [BDatum] desc, [BFolge] desc