Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

MEJORAS

Mejora: Para cumplir con todos los requerimientos mencionados, hay que asegurarse de:

Filtrar las líneas incorrectas.

Listar CANTIDAD_LIMITE.

Ejecutar la fórmula requerida y corregir la expresión del CASE.

Código Mejorado:

SELECT A.DNI, A.NOMBRE, A.MES_AÑO, A.CANTIDAD_VENDIDA - A.CANTIDAD_MAXIMA AS DIFERENCIA, ROUND((1 - (A.CANTIDAD_MAXIMA/A.CANTIDAD_VENDIDA)) * 100,2) AS PORCENTAJE FROM ( SELECT F.DNI, TC.NOMBRE, DATE_FORMAT(F.FECHA_VENTA, "%m - %Y") AS MES_AÑO, SUM(IFa.CANTIDAD) AS CANTIDAD_VENDIDA, MAX(VOLUMEN_DE_COMPRA)/10 AS CANTIDAD_MAXIMA FROM facturas F INNER JOIN items_facturas IFa ON F.NUMERO = IFa.NUMERO INNER JOIN tabla_de_clientes TC ON TC.DNI = F.DNI WHERE (SUM(IFa.CANTIDAD) - MAX(VOLUMEN_DE_COMPRA)/10) < 0 GROUP BY F.DNI, TC.NOMBRE, DATE_FORMAT(F.FECHA_VENTA, "%m - %Y") ) AS A

Este código realiza lo siguiente:

Filtra las líneas donde (A.CANTIDAD_VENDIDA - A.CANTIDAD_MAXIMA) < 0.

Lista CANTIDAD_LIMITE como se pide en los requisitos del informe.

Crea un nuevo campo con la fórmula (1 - (X.CANTIDAD_LIMITE/X.CANTIDAD_VENDAS)) * 100.

1 respuesta

Hola, Javier ,

Gracias por compartir tu código con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!