Hola Nefy. Hubiese sido mejor que pusieras las tablas y sus campos en una lista, y no es esta forma, que se hace realmente dificil de leer.
Te recomiendo la lectura de un buen libro o tutorial de SQL, antes de enfrentar asuntos como este.
Yo he entendido esto:
Código:
Poblaciones
==========
Poblacion
Nombre
Otros_estadisticos
Cliente
============
id_Cliente
Nombre
Poblacion
Otros_campos
Contrato
============
id_Contrato
id_cliente
Otros_campos
Detalle_contrato
============
id_Contrato
Linea
cantidad
Valor_Total
Debes hacer un join de las cuatro tablas, y agrupar por población:
algo como:
Código:
Select p.nombre, sum(dc.cod_articulo), sum(dc.valor_total)
from Poblacion p
inner join cliente c on p.poblacion = c.poblacion
inner join contrato ct on ct.id_cliente = c.id_cliente
inner join detalle_contrato dc on dc.id_contrato = ct.id_contrato
group by p.nombre;
Hasta luego.