• Try the following Script

    SELECT PercRate, Amount, Code

    INTO #TestValues

    FROM (

    SELECT 6.00 PercRate , 172715 Amount , 13 Code UNION ALL

    SELECT 6.50, 172716, 13 UNION ALL

    SELECT 7.00, 181351, 13 UNION ALL

    SELECT 7.50, 190419, 13 UNION ALL

    SELECT 6.00, 200000, 18 UNION ALL

    SELECT 6.50, 200100, 18 UNION ALL

    SELECT 7.00, 200200, 18 UNION ALL

    SELECT 7.50, 200300, 18 UNION ALL

    SELECT 6.00, 0, 21 UNION ALL

    SELECT 6.50, 1, 21

    ) d

    SELECT GMAdj, Payment, Code

    INTO #SM

    FROM (

    SELECT 171314.36, 909, 13 UNION ALL

    SELECT 200299, 500, 18

    ) d ( GMAdj, Payment, Code);

    SELECT

    PercRate, Amount, Code,GMAdj,Payment

    FROM

    (

    SELECT

    PercRate, Amount, #TestValues.Code,GMAdj,Payment,ROW_NUMBER() OVER(Partition By GMAdj Order by ABS((GMAdj-Amount)) ASC) AS RID

    from

    #TestValues

    INNER JOIN #SM ON #SM.Code = #TestValues.Code

    )X

    WHERE RID = 1

    DROP TABLE #TestValues

    DROP TABLE #SM