• I'll take a quick stab in the dark at this. Have no idea if it'll return the right results or perform any better, but as Sean said you haven't provided enough information for people to work on.

    SELECT a.col1

    ,a.id as col2

    ,b.col3

    FROM db1.dbo.table2 a

    CROSS APPLY (

    SELECT TOP 1 e.col3

    FROM db1.dbo.table1 d

    INNER JOIN db1.dbo.[table2] e ON d.[col4] = e.col5

    WHERE d.col2 = a.Id

    AND e.col6 = 505

    ORDER BY d.[col4]

    ) b

    -- OR

    WITH cte as (

    SELECT d.col2, e.col3

    ,ROW_NUMBER() OVER (

    PARTITION BY d.col2 ORDER BY d.[col4]

    ) AS ROWNUMBER

    FROM db1.dbo.table1 d

    INNER JOIN db1.dbo.[table2] e ON d.[col4] = e.col5

    WHERE e.col6 = 505

    )

    SELECT a.col1

    ,a.id as col2

    ,b.col3

    FROM db1.dbo.table2 a

    INNER JOIN cte b ON b.col2 = a.Id

    WHERE b.ROWNUMBER = 1