• select personid, version, dedate,

    row_number() over (partition by personid order by version) as VersionOrder,

    row_number() over (partition by personid order by dedate) as DeOrder,

    case when row_number() over (partition by personid order by version) -

    row_number() over (partition by personid order by dedate) <> 0 then '1' else '0' end as IsImproper

    from personrecord

    order by personid, version

    Yes its good but this was an option if you are using SQL Server 2005. My problem was to be solved in SQL Server 2000

    --Divya