Присоедините table_b
к запросу, который возвращает все canon_ids, связанные с Среднее <0,5 </em>:
delete b
from table_b b inner join (
select b.canon_id
from table_b b inner join table_a a
on a.user_id = b.user_id
group by b.canon_id
having avg(a.score) < 0.5
) t on t.canon_id = b.canon_id;
См. Демоверсию . Результаты:
| user_id | canon_id |
| ------- | -------- |
| 11 | 4344 |
| 88 | 4344 |
| 12 | 3333 |
| 17 | 3333 |
| 18 | 3333 |
| 19 | 3333 |
| 20 | 3333 |