
Totalizar un campo por un año concreto
Publicado por Matmax (4 intervenciones) el 09/01/2011 13:50:51
Hola buenos dias/tardes. Tengo un problema con una consulta sql y ne estoy volviendo un poco loco. No se si alguien podria ayudarme, si es asi gracias de antemano
Tengo 2 tablas:
Proveedor(codPro, nombre, apellidos….)
Pedido( CodCompra, fecha, codPro, …..totalCompra).
La consulta que quiero hacer es que me saque un registro por Proveedor, con su total de compras de un año determinado que le pasare a la consulta, y me lo añada a una 3º tabla con la siguiente estructura:
Facturación (CodFact, codPro, fecha, nombre, apellidos, totalComp(Total Comprado))
Para probar utilice el cliente 9777 y el año 2009. La sql que genere es esta:
INSERT INTO Facturación (Codfact, codPro, nombre, apellidos, totalComp)
SELECT Proveedor. codPro, Proveedor.nombre, Proveedor.apellidos, Sum(pedido.totalfactura_mov) AS Sumadetotalfactura_mov, pedido.fecha
FROM pedido INNER JOIN clientes ON pedido.numero = Proveedor.numero
GROUP BY Proveedor.numero, Proveedor.nombre, Proveedor.apellidos, pedido.fecha
HAVING (((Proveedor.numero)=9777) AND ((Year([pedido]![fecha]))=2009));
El problema que tengo es que en lugar de sacarme un registro con el total de las compras de ese año de ese proveedor, me sale un registro de ese proiveedor por pedido realizado y el total de dicho pedido.
Si alguien me puede ayudar le doy las gracias. Un saludo.
Tengo 2 tablas:
Proveedor(codPro, nombre, apellidos….)
Pedido( CodCompra, fecha, codPro, …..totalCompra).
La consulta que quiero hacer es que me saque un registro por Proveedor, con su total de compras de un año determinado que le pasare a la consulta, y me lo añada a una 3º tabla con la siguiente estructura:
Facturación (CodFact, codPro, fecha, nombre, apellidos, totalComp(Total Comprado))
Para probar utilice el cliente 9777 y el año 2009. La sql que genere es esta:
INSERT INTO Facturación (Codfact, codPro, nombre, apellidos, totalComp)
SELECT Proveedor. codPro, Proveedor.nombre, Proveedor.apellidos, Sum(pedido.totalfactura_mov) AS Sumadetotalfactura_mov, pedido.fecha
FROM pedido INNER JOIN clientes ON pedido.numero = Proveedor.numero
GROUP BY Proveedor.numero, Proveedor.nombre, Proveedor.apellidos, pedido.fecha
HAVING (((Proveedor.numero)=9777) AND ((Year([pedido]![fecha]))=2009));
El problema que tengo es que en lugar de sacarme un registro con el total de las compras de ese año de ese proveedor, me sale un registro de ese proiveedor por pedido realizado y el total de dicho pedido.
Si alguien me puede ayudar le doy las gracias. Un saludo.
Valora esta pregunta


0