Llo primero que estoy viendo es que estás haciendo un proceso de consultas demasiado complicado para algo tan simple.
Bastaría con una query de este tipo:
Para obtener los ID de los comercianes y la cantidad de ofertas vigentes para una zona determinada.
Me parece que deberías explorar más las capacidades del SQL...