Está en la página 1de 4

Nombre: SARAVIA FLORES DANIEL LEONARDO

Fecha: 17/05/2023
EJERCICIOS EXAMEN PARCIAL:
Usando la base de datos demoDB.

1) Mostrar los tres primeros pedidos con sus respectivas cantidades de


productos, ordenados de mayor a menor por la cantidad de productos
por pedido (3 pts)

SELECT TOP 3 P.IDPed, COUNT(E.IDProd) AS CantidadProductos

FROM Pedido P

JOIN Encargo E ON P.IDPed = E.IDPed

GROUP BY P.IDPed

ORDER BY CantidadProductos DESC;


2) Mostrar el nombre y el precio de aquellos productos que tienen el
mayor precio, ordenados por el precio de mayor a menor, además se
debe mostrar el descuento de acuerdo a los siguientes criterios: (5 ptd)

--si el precio fluctúa entre 0 y 100 se debe consignar: "Tiene un


descuento de 10%"

--si el precio fluctúa entre 101 y 500 se debe consignar: "Tiene un


descuento de 20%"

--si el precio es mayor a 1000 se debe consignar: "Tiene un descuento


de 30%"

SOLUCIÓN:

SELECT Producto.nombre, precio, marca,

CASE

WHEN precio BETWEEN 0 AND 100 THEN 'Descuento de 10%'

WHEN precio BETWEEN 101 AND 500 THEN 'Descuento de 20%'

WHEN precio > 1000 THEN 'Descuento de 30%'

END AS descuento

FROM producto

INNER JOIN (

SELECT nombre, MAX(precio) AS max_precio

FROM producto

GROUP BY nombre

) subquery ON Producto.nombre = subquery.nombre AND precio =


subquery.max_precio

ORDER BY nombre ASC;


3.- Mostrar la cantidad de producto de un pedido específico (2 pts)
SELECT SUM(cantidad) AS total_cantidad

FROM Encargo

WHERE IDPed = 8; --el "2" podria ser reemplazado por cualquier número de
pedido

SELECT * FROM Encargo

También podría gustarte