|
Hi Dan,
LATERAL joins make that simple:
--------------------------------------------------------------------
with CTE_DUPLICATES as (
select PRPRDN
from HPRDFA
group by PRPRDN
having count(*) > 1
)
select DETAIL.*
from CTE_DUPLICATES D
cross join lateral (
select H.*
from HPRDFA H
where H.PRPRDN = D.PRPRDN
order by H.PRDATER
fetch first 2 rows only
) as DETAIL
order by DETAIL.PRPRDN, DETAIL.PRDATER
--------------------------------------------------------------------
LATERAL joins => learn 'em, love 'em, use 'em...:)
The ROW_NUMBER() function can also handle that task nicely.
Mike
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.