Cursos

Ejercicios practicos de mysql

Ejercicios de MySQL


1. (2.5 ptos) Listar el total de ventas de los productos que contengan en su descripción “Microcomponente” vendidas al cliente “Percy Ravelo” que hayan sido pagadas mediante la forma de pago Contado. Muestre la descripción del producto y el monto en ventas por ese producto.- Descripción -Monto
Solucion:

select p.Descripcion,sum(v.Total) as [Monto]
from VENTA v,
PRODUCTO p,
CLIENTE c,
FORMAPAGO fp,
DETALLEVENTA dv
where
v.IdCliente=c.IdCliente and
fp.idFormaPago=v.idFormaPago and
dv.NumeroDoc=v.NumeroDoc and
p.Descripcion like '%Microcomponente%' and
c.NombreCorto like '%Percy Ravelo%' and
fp.Descripcion like'%contado%'
group by p.Descripcion

2. (3.5 ptos) Se desea saber quiénes son los clientes a quienes en un primer momento no se les aprobó la solicitud de afiliación pero que actualmente tienen aprobada una nueva solicitud. Para ello se deberá mostrar el código, nombre del cliente y el número de solicitudes que le fueron denegadas. (Considere que un cliente no puede tener más de un IdCliente y que cada vez que realiza una Solicitud se genera un nuevo IdSolicitud) -Idcliente -Apellidos y Nombres -Solicitudes denegadas

Solucion:

select c.IdCliente, c.NombreCorto as[Apellidos y Nombres],
count(sa.IdSolicitud) as[Solicitudes denegadas]
from CLIENTE c,
SOLICITUDAFILIACION sa
where c.IdCliente=sa.IdCliente and sa.IndAprobado=0
group by c.IdCliente, c.NombreCorto


3. (3 ptos) La cadena Zion piensa brindar descuentos especiales a sus clientes estrella, para ello se necesita tener un reporte de los clientes cuyo monto en ventas en un mes sea mayor a 3000 soles incluyendo todas las 2 tiendas. En el reporte se mostrará el código y Nombre del cliente estrella y el monto acumulado para el Mes de Abril del 2014.
-Idcliente -Apellidos y Nombres -Monto mes de abril
Solucion:

select c.IdCliente, c.NombreCorto as[Apellidos y Nombres],
sum(v.Total) as [Monto mes de abril]
from CLIENTE c,
VENTA v,
DETALLEVENTA dv,
TIENDA t
where c.IdCliente=v.IdCliente and
dv.IdTienda=t.IdTienda and
MONTH(v.Fecha)=4
group by c.IdCliente, c.NombreCorto having sum(v.Total)>3000


4. (3 ptos) Haga un ranking de los ejecutivos, cuyos clientes que hayan sido aprobados su solicitud, tengan movimientos mayores a 500 soles durante Abril del 2004, ordenarlo por monto en forma descendente
-Apellidos y Nombres -Movimiento de Clientes (Ejecutivo)
Solucion:

select c.NombreCorto as [Apellidos y Nombres],
sum(v.Total) as [Movimiento de Clientes (Ejecutivo)]
from EJECUTIVO e,
CLIENTE c,
SOLICITUDAFILIACION sa,
VENTA v
where e.IdEjecutivo=sa.IdEjecutivo and
sa.IdCliente=c.IdCliente and
v.IdCliente=c.IdCliente and
sa.IndAprobado=1 and
MONTH(v.Fecha)=4 and
year(v.Fecha)=2014
group by c.NombreCorto having sum(v.Total)> 500
order by 2 desc

5. (3.5 ptos) Se desea conocer el monto total de ventas al contado y ventas con tarjetas de crédito del establecimiento para el mes de abril del 2014.
-Forma de Pago -Monto Total de Ventas
Solucion:

select fp.Descripcion as[Forma de Pago], sum(v.Total) as [Monto Total de Ventas]
from VENTA v,
FORMAPAGO fp
where v.idFormaPago=fp.idFormaPago and
MONTH(v.Fecha)=4
group by fp.Descripcion

6. ( 4.5 ptos) Se va a realizar una auditoría de las ventas realizadas entre la segunda quincena de marzo y la primera quincena de abril, por ello se necesita conocer aquellas ventas que tienen errores en el cálculo del subtotal de una venta, tener en cuenta que el monto de cada ítem de una venta se calcula: Monto=PrecioxCantidad – descuento y que el subtotal de una venta es la suma de los montos de todos los items. Muestre el número de documento, la fecha, la información del cliente afectado (Nombres y Apellidos), el monto registrado y el monto calculado para cada uno de las ventas.
-Numerodoc -Fecha -Apellidos y Nombres -Monto Registrado- Monto Calculado

Solucion:
select v.NumeroDoc as[Numerodoc],v.Fecha as[Fecha],c.NombreCorto as [Apellidos y Nombres],
v.Total as [Monto Registrado], sum((dv.Precio*dv.Cantidad)-dv.Descuento) as[Monto Calculado]
from DETALLEVENTA dv,
VENTA v,
CLIENTE c
where dv.NumeroDoc=v.NumeroDoc and
v.IdCliente=c.IdCliente and
v.Fecha between '2014-03-30' and '2014-04-15'
group by v.NumeroDoc,v.Fecha,c.NombreCorto,
v.Total






Comentarios

Entradas populares