Во-первых, тут проблемы со скобками:
DATE_FORMAT(CURRENT_DATE - INTERVAL 11 MONTH, '%Y-%m-01' AND `category_id` = '1')
А тут многовато AND, на мой вкус:
AND `category_id` = '2' AND `category_id` = '3'
По поводу объединения:
SELECT
SUM(`price`) as `sales`,
SUM(`seller_salary`) as `salary`,
COUNT(CASE WHEN `category_id` = '1' THEN 1 END) as cat1_count,
COUNT(CASE WHEN `category_id` = '2' OR `category_id` = '3' THEN 1 END) as cat23_count,
DATE_FORMAT(`putdate`, '%Y-%m') as period
FROM `ms_sales`
WHERE `putdate` >= DATE_FORMAT(CURRENT_DATE - INTERVAL 11 MONTH, '%Y-%m-01')
GROUP BY period
С mysql имел дело давно, не знаю, работает ли там CASE как положено.