Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

La data massima non funzionerà, alternativa?

Penso che la risposta canonica a questa domanda sia la seguente

with AllData as
(
select ... from ...
where ...
)
select * from allData ad1
inner join 
(
    select pk1, pk2, pk<n>, max(MaxThing) MaxVal 
    from AllData
    group by pk1, pk2, pk<n>
) as ad2 
on (ad1.pk1=ad2.pk1 and ad1.pk2=ad2.pk2 and ad1.pk<n>=ad2.pk<n> 
and  ad1.MaxThing=ad2.MaxVal)

Nel tuo caso cst_recno è la PK e inv_trx_date è il MaxThing



No