mira, con esta consulta tendrias la suma de productos por sucursal
select SUM(cantidad) as Cantidad, producto, sucursal
from ventas group by producto, sucursal
Ahora, con este
SELECT MAX(tabla.cantidad), tabla.sucursal
FROM
(select SUM(cantidad) as Cantidad, producto, sucursal
from ventas group by producto, sucursal) tabla
group by tabla.sucursal
Obtendrias la mayor cantidad vendida por sucursal, pero el campo producto no se puede incluir en la consulta, de plano sql server no te lo permite( a menos que lo pusieras en el group by y no te serviría de nada), y pues que pasa si hay dos productos con la misma cantidad vendida??, sql server no sabría cual tomar.
La solucion que veria, seria tomar el primer producto que se encuentre con cantidad maxima, con un top dentro de la subconsulta
SELECT MAX(cantidad),sucursal, (select top 1 producto as nombreProducto
from (select SUM(cantidad) as Cantidad, producto, sucursal
from ventas group by producto, sucursal) tabla2
where tabla2.cantidad = MAX(tabla.cantidad))
FROM
(select SUM(cantidad) as Cantidad, producto, sucursal
from ventas group by producto, sucursal) tabla
group by tabla.sucursal
Es lo que se me ocurre, me supongo que habrán otras alternativas.
Saludos