MySQL - ME PODRIAN AYUDAR CON UNA SQL

 
Vista:

ME PODRIAN AYUDAR CON UNA SQL

Publicado por JUAN (1 intervención) el 03/09/2022 09:24:14
SOY UNA PERSONA AUTODIDACTA RECIEN ESTOY APRENDIENDO SQL PERO HAY 2 PREGUNTAS QUE NO SE COMO PODRIA DESARROLLARLA, ALGUNO PODRIA AYUDARME Y SI SE PUDIERA, EXPLICARME COMO LO HIZO ASI APRENDO YO TAMBN,
ESTOY PRACITCANDO CON LA BASE DA DATOS "CLASSICMODELS" DE MYSQL Y QUERIA SABER COMO PUEDO HACER LA CONSULTA DE ESTAS PREGUNTAS

PREGUNTA 1:

Genera una consulta que basado en el código país, este debe devolver el listado de empleados con los montos de ventas promedios por mes y año. Donde las ordenes no estén en estatus “Cancelled”.

PREGUNTA 2:

Generar un store procedure que reciba de valor de entrada el año y mes devuelva el top 10 de los productos más vendidos, sin importar el estatus.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ME PODRIAN AYUDAR CON UNA SQL

Publicado por hola (1 intervención) el 04/09/2022 21:07:46
A la hora de construir sentencias SQL, necesariamente se tiene que conocer muy bien la forma como están conectadas o relacionadas las diversas estructuras que conformen la BD.

En ese orden de ideas, hay que analizar muy bien el MER y a partir de allí establecer los join adecuados.

Para el primer query, se observa que entre empleados y oficinas existe una columna en común que es el officeCode.

Para obtener las ventas, es necesario pasar por customers a través de salesRepEmployeeNumber
y luego llegar hasta el detalle de la orden que tiene el precio de cada uno de los items comprados y poder sumar y sacar el promedio por mes, haciendo uso de customerNumber y orderNumber

Es un query bastante complejo para un principiante y autodidacta además.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

*a*

Publicado por juankamil18 (1 intervención) el 05/09/2022 05:48:35
la segunda no me sale :, v
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

*a*

Publicado por hola (1 intervención) el 05/09/2022 15:04:04
Podría ser algo parecido a esto:

SELECT PRODUCTCODE
FROM (SELECT PRODUCTCODE
, SUM(PRICE_EACH) VENDIDO
FROM ORDERDETAILS LIMIT 10
GROUP BY PRODUCTNAME)
ORDER BY VENDIDO DESC;

Aclaro que no lo he probado porque no tengo esa BD ni mysql instalado, pruebalo, si te funciona, ya solo es que le adiciones un wher con la condición del año que le indiquen en el procedure algo así como;

CREATE PROCEDURE pedirAnio(
IN p_Anio INT(4)
)
BEGIN
SELECT...
WHERE EXTRACT(YEAR FROM requireddate o ShippedDate) = p_Anio;
END;

Ya lo ajustas con la fecha que requieras, porque en la tabla de ordenes veo dos fechas, y lo más adecuado es que muestres el nombre del producto en vez del codigo, para lo cual tienes que hacer join con products
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar