SELECT t1.*
FROM t1
LEFT JOIN (
SELECT part_id, SUM(`count`) sum_count
FROM t2
GROUP BY 1
) t3 ON t1.part_id = t3.part_id AND t1.`count` <= t3.sum_count
WHERE t3.part_id IS NULL
SELECT t1.*
FROM table1 t1
WHERE t1.count > (SELECT sum(t2.count)
FROM table2 t2
-- т.к не сказано какими именно полями связаны таблицы
-- связал по полю `part_id`, поменять на связку по полю `code`
-- думаю вам будет не сложно
WHERE t2.part_id = t1.part_id
)
底线。我们对第二个表进行汇总和总结。然后我们通过等式part_id将结果与第一个结果连接起来,条件是第一个结果中的金额不大于。如果不满足这个条件,或者第二个表没有所需的part_id(比如总和为零,但实际上为NULL),那么第二个表的字段将为NULL。这些就是我们需要的记录。
小提琴
无需考虑太多 - 使用子查询非常简单。当然,其他社区成员会找到更多解决方案。