Это работает, когда я импортирую ваши данные в локальную базу данных и запускаю ее:
SELECT s.*
FROM scores AS s
JOIN (
SELECT beneficiary,service
FROM scores
WHERE marks IS NOT NULL
GROUP BY beneficiary,service HAVING COUNT(*) = 2
) AS x ON (x.beneficiary = s.beneficiary AND x.service = s.service);
Выход:
beneficiary | service | marks | term
-------------+---------+-------+------
1 | math | 30 | 1
1 | math | 20 | 2
2 | eng | 20 | 1
2 | eng | 30 | 2
(4 rows)