Está en la página 1de 11

CONSULTAS PARA LA

ELABORACIÓN DE
REPORTES DE UNA
FERRETERÍA
Integrantes:
BUJAICO CRISPIN Félix Alberto
ESTRADA MONGE Franklin Edix
MALPARTIDA HUAYTAN Hilda Judith
VINGULA RARAZ Evelyn Catalina

Facultad de Ingeniería de Sistemas y Computación


SISTEMA DE INFORMACION GERENCIAL
Mg. Muñoz Robles, Williams

15 de abril del 2021


INDICE
2
CONSULTAS PARA LA ELABORACIÓN DE REPORTES DE UNA FERRETERÍA .... 3
DIAGRAMA DE LA BASE DE DATOS: ...................................................................... 3
EJERCICIO 1................................................................................................................. 4
Código SQL:............................................................................................................... 4
Explicación del código: ............................................................................................... 4
Ejecución del Código: ................................................................................................. 4
EJERCICIO 2................................................................................................................. 5
Código SQL ................................................................................................................ 5
Explicación del código: ............................................................................................... 5
Ejecución del Código: ................................................................................................. 5
EJERCICIO 3................................................................................................................. 8
Código SQL:............................................................................................................... 8
Explicación del código: ............................................................................................... 8
Ejecución del codigo: .................................................................................................. 8
EJERCICIO 4................................................................................................................. 9
Codigo SQL:............................................................................................................... 9
Explicación del código: ............................................................................................... 9
Ejecución del codigo: .................................................................................................. 9
EJERCICIO 5............................................................................................................... 10
MAXIMA .................................................................................................................... 10
Codigo SQL .............................................................................................................. 10
Explicación del código: ............................................................................................. 10
Ejecución del codigo: ................................................................................................ 10
MINIMA ...................................................................................................................... 11
Codigo SQL .............................................................................................................. 11
Explicación del código: ............................................................................................. 11
Ejecución del codigo: ................................................................................................ 11
CONSULTAS PARA LA ELABORACIÓN DE REPORTES DE UNA FERRETERÍA
3

DIAGRAMA DE LA BASE DE DATOS:

Ya teniendo los datos almacenados en la base de datos VENTAS se procede a elaborar las
siguientes consultas:
EJERCICIO 1
4
En esta consulta se solicita saber el monto total que un cliente haya facturado
en todas las compras que realizo en la ferretería:

Código SQL:

SELECT factura.ruccli AS NRO_RUC, nomcli AS


CLIENTE,SUM(totdfac) AS MONTO_TOTAL FROM cliente
INNER JOIN factura
ON cliente.ruccli = factura.ruccli
WHERE factura.ruccli = 20447366674
GROUP BY factura.ruccli,nomcli

Explicación del código:


En el anterior código se hace la consulta para que pueda mostrar el ruc,
nombre y el monto total de la compra del cliente filtrado por el RUC, entonces
unimos las tablas cliente con factura mediante INNER JOIN y agrupamos las
facturas que se realizó a dicho cliente y también se suma las compras para obtener el
monto total.
Ejecución del Código:

Para un cliente que posee el N° de Ruc: 20447366674

Para un cliente que posee el N° de Ruc: 20489325331

Para un cliente que posee el N° de Ruc: 10001290261


EJERCICIO 2
5

En esta consulta se muestra el nombre del producto el año la cantidad y el


costo de cada producto comprado por un cliente:

Código SQL:

SELECT nomcli AS CLIENTE,nompro AS


NOMBRE_PRODUCTO,YEAR(fecdfac) AS ANIO,candfac AS
CANTIDAD, factura.totdfac AS TOTAL FROM cliente
INNER JOIN factura
ON cliente.ruccli = factura.ruccli
INNER JOIN dfactura
ON factura.serfac = dfactura.serfac AND factura.nrofac =
dfactura.nrofac
INNER JOIN producto
ON dfactura.codpro = producto.codpro WHERE factura.ruccli =
20447366674
ORDER BY YEAR(fecdfac) ASC

Explicación del código:

En el anterior código se hace la consulta para que pueda mostrar el nombre


del producto, la cantidad, el año y el precio por la compra que hizo un cliente, para
ello unimos las cuatro tablas cliente, factura, dfactura y producto con INNER
JOIN y filtrado por el RUC también a la ves lo ordenamos de manera ascendente del
año que se realizó la compra.

Ejecución del Código:


Para un cliente que posee el N° de Ruc: 20447366674
6

Para un cliente que posee el N° de Ruc: 20489325331


7
EJERCICIO 3
8

En la siguiente consulta, se nos pide encontrar en qué año se realizó la mayor


facturación que se realizó en la ferretería, mencionando a su respectivo cliente

Código SQL:
select year(fecfac) as Año, totsfac as T_facturado, nomcli as Cliente,
factura.ruccli as RUC
from factura inner join cliente on cliente.ruccli = factura.ruccli
where totsfac = (select max(totsfac) from factura)
group by year(fecfac), totsfac, nomcli, factura.ruccli

Explicación del código:

En el presente código, queremos que se muestre el Año (year(fecfac)), el total


facturado T_facturado(totsfac), el Cliente (nomcli) y su respectivo RUC
(factura.ruccli), una vez señalado lo que necesitamos en nuestra consulta,
declaramos a que tablas corresponde, los cuales son Factura y Cliente, relacionados
a través de inner join con su respectiva sentencia para verificar los primary key; a
continuación usamos where para indicar que se quiere encontrar el mayor valor de
facturación, para ello se usa la función incorporada max, señalando a su respectiva
tabla perteneciente, por último los agrupamos para que reconozca nuestros atributos
mediante group by.

Ejecución del código:

Es el mayor monto facturado entre todos los años que abarca desde el 2000
hasta el 2017.
EJERCICIO 4
9

El usuario desea saber cuántos clientes se ubican en Lima, el nombre del cliente y
la fecha que adquirió el producto.

Código SQL:
select nomcli, fecfac, telcli, COUNT(YEAR(fecfac)) as Cant_Cliente
from factura inner join cliente
on factura.ruccli =cliente.ruccli
where dircli = 'Lima'
group by fecfac, telcli, nomcli having COUNT(year(fecfac))>1

Explicación del código:


En el código mostrado se hace una consulta para que se muestre el nombre del
cliente (nomcli), la fecha de factura (fecfac) y teléfono del cliente(telcli), se pone un
contador para contar las cantidades de empresas que se registraron por día, se une la
tabla Factura y Cliente con el Inner Join estos datos se mostrara cuando la dirección
del cliente sea en Cerro de Pasco. Por último, se agrupa los nombres, las fechas de
facturas, teléfonos del cliente y se ordena.
Ejecución del código:
Estas serían las empresas que se ubican en la zona de Lima
EJERCICIO 5
10

En la siguiente consulta, se nos pide encontrar en qué año y que cliente realizaron
la mínima y máxima facturación en la ferretería, mencionando el nombre del producto,
cantidad y la total de facturación.
MAXIMA
Código SQL
SELECT YEAR(fecfac) AS AÑO, nomcli AS CLIENTE,nompro AS NOMBRE_PRODUCTO,candfac
AS CANTIDAD, factura.totsfac AS TOTAL
FROM cliente INNER JOIN factura ON cliente.ruccli = factura.ruccli
INNER JOIN dfactura ON factura.serfac = dfactura.serfac AND factura.nrofac =
dfactura.nrofac
INNER JOIN producto ON dfactura.codpro = producto.codpro
where totsfac = (select max (totsfac) from factura)
group by year(fecfac), nomcli,nompro, candfac, factura.totsfac

Explicación del código:

En el presente código, queremos que se muestre el AÑO (year(fecfac)), el


nombre del cliente CLIENTE(nomcli), el nombre del producto
PRODUCTO(nompro) , la cantidad facturado CANTIDAD(candfac) y el total de
factura TOTAL(factura.totsfac), una vez señalado lo que necesitamos en nuestra
consulta, declaramos a que tablas corresponde, los cuales son Factura, dFactura,
producto y Cliente, relacionados a través de inner join con su respectiva sentencia
para verificar los primary key; a continuación usamos where para indicar que se
quiere encontrar el máximo valor de facturación, para ello se usa la función
incorporada max, señalando a su respectiva tabla perteneciente, por último los
agrupamos para que reconozca nuestros atributos mediante group by.

Ejecución del código:


Estas serían el año y la empresa que hizo la máxima compra en el producto.
MINIMA
11
Código SQL

SELECT YEAR(fecfac) AS AÑO, nomcli AS CLIENTE,nompro AS NOMBRE_PRODUCTO,candfac AS


CANTIDAD, factura.totsfac AS TOTAL
FROM cliente INNER JOIN factura ON cliente.ruccli = factura.ruccli
INNER JOIN dfactura ON factura.serfac = dfactura.serfac AND factura.nrofac =
dfactura.nrofac
INNER JOIN producto ON dfactura.codpro = producto.codpro
where totsfac = (select min(totsfac) from factura)
group by year(fecfac), nomcli,nompro, candfac, factura.totsfac

Explicación del código:

En el presente código, queremos que se muestre el AÑO (year(fecfac)), el nombre


del cliente CLIENTE (nomcli), el nombre del producto PRODUCTO(nompro) , la
cantidad facturado CANTIDAD(candfac) y el total de factura
TOTAL(factura.totsfac), una vez señalado lo que necesitamos en nuestra consulta,
declaramos a que tablas corresponde, los cuales son Factura, dFactura, producto y
Cliente, relacionados a través de inner join con su respectiva sentencia para verificar
los primary key; a continuación usamos where para indicar que se quiere encontrar
el mínimo valor de facturación, para ello se usa la función incorporada min,
señalando a su respectiva tabla perteneciente, por último los agrupamos para que
reconozca nuestros atributos mediante group by.

Ejecución del código:


Estas serían los años y las empresas que hicieron mínima compra en cierto
producto.

También podría gustarte