• ah, sorry, I see my mistake, the @ comes after -
    SELECT requestID, orderID
      FROM
      (SELECT baserequestID, requestID, orderID, ROW_NUMBER() OVER (PARTITION BY baserequestID ORDER BY requestID DESC, orderID DESC) AS recentness
         FROM
         (SELECT CASE WHEN CHARINDEX('-', requestID) = 0 THEN requestID ELSE LEFT(requestID, LEN(requestID) - 2) END AS baserequestID, requestID, orderID
            FROM ids
          UNION ALL
          SELECT CASE WHEN CHARINDEX('-', requestID) = 0 THEN requestID ELSE LEFT(requestID, LEN(requestID) - 2) END AS baserequestID, requestID, orderID
            FROM ids_done) u
         ) rn
      WHERE rn.recentness = 1