domingo, 9 de diciembre de 2012

Resolución ejercicio final (14) - Listar Albaranes de un Proveedor



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

En esta entrada resolveremos el punto 11:
Listar Albaranes de un Proveedor.





Lo que se desea realmente es obtener los encabezados de las facturas de un único cliente.

select * from cab_fv where id_cliente = 1;






NOTA: Aunque la consulta anterior si que responde al punto 11 del enunciado, suele ser normal, añadir al lado del encabezado del albarán el total del mismo.

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 albarán.

Para ello se realizará un join a tres 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 cab_ac.*,
round(sum(neto * cantidad * ((100.0 + tipo_iva) / 100.0)),2) as total
from cab_ac left join lin_ac
on cab_ac.id_ac = lin_ac.id_ac
inner join ivas
on lin_ac.iva = ivas.codigo_iva
where id_proveedor = 1
group by lin_ac.id_ac;



NOTA: Se han vinculado tres 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