• without set up scripts of r create table / insert data....here is a guess

    WITH cte_st

    AS (

    SELECT

    S.GroupID

    , MIN(ST.StatusID) AS minst

    FROM StepTable AS S INNER JOIN

    StatusTable AS ST ON S.StatusName = ST.StatusName

    GROUP BY

    S.GroupID)

    SELECT

    S.ID

    , S.StepID

    , S.GroupID

    , S.StatusName

    , ST.StatusName AS NewStatus

    FROM StepTable AS S INNER JOIN

    cte_st ON S.GroupID = cte_st.GroupID

    INNER JOIN

    StatusTable AS ST ON cte_st.minst = ST.StatusID

    ORDER BY

    S.ID;

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day