Planteamiento:

1. - calcular valorventa aumentando un 17% del valorunitario.

-tablas a consultar: producto

-comando: update

-sintaxis: Update producto set valorventa = valorunitario * 1.17; 

2. Llevar el valorventa a valor de detallefactura segun articulo comprado.

-tablas a consultar:  producto y detallefactura

-comando:  update

-condición: producto.codigo = detallefactura.codigo 

-sintaxis: Update detallefactura set valor = (Select valorventa From producto where producto.codigo = detallefactura.codigo); 

3. Calcular el total en la tabla detallefactura (cantidad x valor) 

-tablas a consultar: detalle factura

-comando: update

sintaxis: Update detallefactura set total = cantidad * valor; 

4. Calcular cuanto es el subtotal de cada factura y guardarlo en el campo respectivo 

-tablas a consultar: factura y detallefactura

-comando: update

-condición: detallefactura.nrofactura = factura.nrofactura 

-agrupar datos: nro factura

-sintaxis: Update factura set subtotal = (Select sum(detallefactura.total) From detallefactura where detallefactura.nrofactura = factura.nrofactura group by detallefactura.nrofactura); 

5. Calcular el iva (16% del subtotal), la retencion(3.5% del subtotal) y el total(subtotal + iva - retencion)

-tablas a consultar: factura

-comando: update

-sintaxis: Update factura set iva = subtotal * 0.16, retencion = subtotal * 0.035, total = subtotal * (1 + 0.16 - 0.035);

6. Calcular cuales son las existencias de cada articulo

-tablas a consultar:  producto y detallefactura

-Datos a consultar: existencias de la tabla producto

-Nota: para lograr calcular las existencias de cada articulo, se obtiene de la siguiente manera:

Existencias de la tabla producto menos suma(cantidad) de cada producto de la tabla detallefactura.

-condición: detallefactura.codigo = producto.codigo 

-comando: update

-sintaxis:  update producto set existencia = cantidad - (select sum(cantidad) from detallefactura where detallefactura.codigo = producto.codigo group by detallefactura.codigo);

7. total de facturas de cada cliente 

-tablas a consultar: factura y cliente

-Nota:  mostrar Cedula, nombre, sum(total) 

-condición: cliente.cedula = factura.cedula 

-agrupar datos:  cedula y nombre

sintaxis: select c.cedula, c.nombre, sum(f.total) 'Total' from cliente c inner join factura f on f.Cedula = c.Cedula group by c.cedula, c.nombre order by c.nombre; 

8. Listar el total de ventas de cada producto 

-tablas a consultar: detallefactura y producto

-nota: mostrar codigo, articulo, sum(total) 

-condición: detallefactura.codigo = producto.codigo 

-agrupar datos: codigo y articulo

-sintaxis:  select producto.codigo, producto.articulo, sum(detallefactura.total) 'Total' from producto inner join detallefactura on detallefactura.codigo = producto.codigo group by producto.codigo, producto.articulo order by producto.articulo;

9. Listar las facturas y el valor de cada una segun las compra de alexandra lopez 

-tablas a consultar: factura y cliente

-nota: mostrar nrofactura, sum(total) 

-condición: cliente.cedula = factura.cedula y seleccionar el cliente con cedula = 100 

-agrupar datos: nrofactura

-sintaxis: select factura.nrofactura, sum(factura.total) 'Total' from cliente  inner join factura  on factura.Cedula = cliente.Cedula where cliente.cedula = 100 group by factura.nrofactura order by factura.nrofactura; 

10. Crear una tabla detallado dentro de la base de datos subconsultas con los campos:

-id auto incremento

-cedula

-nrofactura

-totalarticulos

-valortotal


sintaxis: Create table detallado(Id int(4) unsigned zerofill not null auto_increment primary key, cedula int(10) not null, nrofactura int(4) not null, totalarticulos int(4) not null, valortotal float not null)

11. Crear una subconsulta para ingresar estos datos a la tabla nueva.

-cedula del cliente

-numero de facturas del cliente

-suma de los articulos de cada factura

-total pagado de cada factura


sintaxis: insert into detallado(cedula, nrofactura, totalarticulos, valortotal)  

select c.cedula, f.nrofactura, sum(df.cantidad), sum(f.total) from cliente c inner join factura f on f.Cedula = c.Cedula inner join detallefactura df on df.nrofactura = f.nrofactura group by c.cedula, f.nrofactura;

12. Eliminar las facturas de los clientes que hayan iniciado vinculo con la empresa antes de 2004.

-tablas a consultar:  factura, detallefactura y cliente

-nota: Borrar facturas de las tablas factura y detallefactura, para clientes con fecha de inicio < 2004-01-01

-condición: cliente.cedula = factura.cedula y detallefactura.nrofactura = factura.nrofactura 

-comando: Delete

-sintaxis: delete from detallefactura where nrofactura = (select factura.nrofactura from cliente  inner join factura  on factura.Cedula = cliente.Cedula where cliente.fechainicio < '2004-01-01' and detallefactura.nrofactura = factura.nrofactura);


delete from factura where cedula = (select cliente.cedula from cliente  where cliente.Cedula = factura.Cedula and cliente.fechainicio < '2004-01-01'); 

13. Listar los clientes que no tienen facturas 

-tablas a consultar: factura y cliente

-nota:  mostrar cedula, nombre 

-condición: cliente.cedula = factura.cedula 

-sintaxis: select cliente.cedula, cliente.nombre from cliente  left join factura  on factura.Cedula = cliente.Cedula where factura.cedula is null order by cliente.nombre; 

En este archivo se encuentra el tee del taller subconsultas.

© 2018 Jhon Alejandro Guevara Giraldo, Ingeniero de Sistemas, Medellín-Colombia.
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar