SQL: join: find all objects that satisfy some requirements
You can do it with a cross join of the tables:
select t.task, o.object, count(distinct t.req) n_reqs
from task_reqs t cross join obj_reqs o
where t.task = 'taskA'
group by t.task, o.object
having count(distinct t.req) = count(case when t.req = o.req then 1 end)
See the demo.
Results:
| task | object | n_reqs |
| ----- | ------ | ------ |
| taskA | obj2 | 3 |