Deadlock, что за зверь, с чем едят?
Судя по исходным данным, тут не коммиты с транзакциями писать надо, а просто почитать про составление sql-запросов. 
Запрос типаINSERT INTO `table2`
SELECT `type` , SUM(`salary` ) 
FROM `table1`
GROUP BY `type`UPDATE table2 AS t2 JOIN (
SELECT SUM( salary ) AS summary, 
TYPE FROM table1
GROUP BY TYPE
) AS t1 ON t1.type = t2.type
SET t2.summary = t1.summary WHERE t2.type = t1.type
решит вашу проблему.
https://ru.wikipedia.org/wiki/%D0%92%D0%B7%D0%B0%D...
поправьте код так, чтобы  ресурсы захватывались всегда в порядке а,б
или "Бери ложку и вилку сразу (WaitForMultipleObjects)"