• OK -- I get that now. So I added:

    where rn=1 (so it would be included)

    and removed the top 1, so I now looks like:

    select nco.*, nci.ORDER_ITEM_ID o2

    From OR_NCCore.dbo.Order_Dim nco

    INNER JOIN or_nccore.dbo.STATUS_DIM S

    ON nco.STATUS_ID = S.STATUS_ID

    cross apply (

    select *,rn=row_number()

    over (partition by order_id order by order_item_id asc)

    from or_nccore.dbo.ORDER_ITEM_DIM nci

    where nco.order_id=nci.order_id

    ) nci

    where rn=1

    The inner join still beats it by a wide margin on I/O, even after I added the index you suggested (thanks for that!) It's also a pity that I can't put the where clause inside the subquery for the cross apply, but such is life!