Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

Error 1140, cómo evitarlo usando otra variante de las subconsultas y sin usar GROUP BY

El ingeniero Álvaro ejecuta la siguiente consulta:

SELECT 
    ENVASE,
    MAX(PRECIO_DE_LISTA) AS PRECIO_MÁXIMO
FROM
    TABLA_DE_PRODUCTOS;

La cual a él le genera el siguiente resultado:
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Pero a la mayoría de los estudiantes nos marca error, específicamente el error 1140.
Para evitarlo se debe usar GROUP BY pero yo propongo otra forma de obtener el registro (o los registros) de la tabla TABLA_DE_PRODUCTOS donde el PRECIO_DE_LISTA sea el máximo y usando subconsultas:

SELECT
    ENVASE,
    PRECIO_DE_LISTA AS PRECIO_MÁXIMO
FROM 
    TABLA_DE_PRODUCTOS
WHERE 
    PRECIO_DE_LISTA = (
        SELECT
            MAX(PRECIO_DE_LISTA)
        FROM
            TABLA_DE_PRODUCTOS); 

Y genera el mismo resultado que se obtuvo en la clase:
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Esta última consulta responde a la pregunta:
¿Cuál es el producto más caro? Muéstrame su precio y el tipo de envase.
Si hay varios productos que tengan el mismo precio máximo también los muestra.

¿Qué opinan de mi análisis?