Buenos dias estoy haciendo este ejercicio fui haciendo toda la consulta, hasta llegar al punto donde quiero que solo me muestre aquellos registros, donde los clientes se excedieron en el volumen de compra permitido en un 50 % o más. Todo va bien hasta que llego a la parte en la que quiero filtrar por el campo STATUS_VENTA quedandome con aquellos que dicen "Volumen excedido" y luego filtrando de esos casos aquellos que superan el 50%. Pero al hacerlo me arroja el siguiente error: Error Code: 1054. Unknown column 'STATUS_VENTA' in 'group statement'
Se que lo puedo resolver de otra forma haciendo que la diferencia entre volumen de venta y cantidad de negativo para los casos excedidos, pero lo que yo quiero entender es porque no me reconoce el campo STATUS_VENTA en la parte del WHERE, ya probe de varias formas, usando este campo en el By Group, poniendole A.STATUS_VENTA al llamarlo en el cuerpo del where, en fin mi error es conceptual por eso consulto.
Desde ya muchas gracias por su ayuda.
A continuacion dejo el codigo.
Saludos Analia
SELECT A.DNI, A.NOMBRE, A.FECHA, A.VOLUMEN_MAXIMO - A.CANTIDAD_VENDIDA AS DIFERENCIA, CASE WHEN(A.VOLUMEN_MAXIMO - A.CANTIDAD_VENDIDA) <= 0 THEN 'Volumen excedido' ELSE 'Volumen correcto' END AS STATUS_VENTA, ROUND((A.CANTIDAD_VENDIDA*100/ A.VOLUMEN_MAXIMO),2) AS PORCENTAJE FROM(SELECT TC.DNI, TC.NOMBRE, DATE_FORMAT(F.FECHA_VENTA, '%m -%Y') AS FECHA, SUM(Ifa.CANTIDAD) AS CANTIDAD_VENDIDA, MAX(TC.VOLUMEN_DE_COMPRA)/10 AS VOLUMEN_MAXIMO FROM tabla_de_clientes TC INNER JOIN facturas F ON TC.DNI = F.DNI INNER JOIN items_facturas Ifa ON F.NUMERO = Ifa.NUMERO GROUP BY TC.DNI, TC.NOMBRE, DATE_FORMAT(F.FECHA_VENTA, '%m -%Y'),STATUS_VENTA)A WHERE(STATUS_VENTA LIKE 'Volumen excedido' AND A.FECHA LIKE "%2018");