Один простой подход использует агрегирование:
SELECT
request
FROM yourTable
GROUP BY
request
HAVING
COUNT(CASE WHEN type = 'R' AND status = 'partially complete' THEN 1 END) > 0 AND
COUNT(CASE WHEN type = 'S' AND status = 'complete' THEN 1 END) > 0;
Мы также можем сформулировать это с помощью самостоятельного соединения:
SELECT DISTINCT t1.request
FROM yourTable t1
INNER JOIN yourTable t2
ON t1.request = t2.request AND
t2.type = 'S' AND t2.status = 'complete'
WHERE
t1.type = 'R' AND
t1.status = 'partially complete';