martes, 11 de diciembre de 2012

Resolución ejercicio final (15) - Ver totales de cliente



RESOLUCIÓN DEL PUNTO 12 DEL ENUNCIADO DEL EJERCICIO FINAL.

En esta entrada resolveremos el punto 12:
Ver totales de cliente.


Lo que se desea realmente es obtener la suma de todas las facturas de cada cliente.

Para obtener el total en el listado es preciso realizar una consulta en la que además se sumen todas las líneas de cada factura agrupándola por cliente.

Para ello se realizará un join a cuatro tablas.




Pero antes es preciso multiplicar el precio neto de cada artículo, por la cantidad de unidades, y por aplicarle el IVA correspondiente.

select clientes.id_cliente, nombre, nif,
round(sum(neto * cantidad * ((100.0 + tipo_iva) / 100.0)),2) as total
from clientes left join cab_fv
on clientes.id_cliente = cab_fv.id_cliente
left join lin_fv
on cab_fv.id_fv = lin_fv.id_fv
inner join ivas
on lin_fv.iva = ivas.codigo_iva
group by clientes.id_cliente;



NOTA: Se han vinculado cuatro tablas mediante joins. Para que sea más fácil de visualizar el total se redondea con la función Round.

No hay comentarios:

Publicar un comentario