La querty del profe fue, y corrijan si estoy en lo incorrecto:
SELECT ENVASE, SABOR,
CASE
WHEN PRECIO_DE_LISTA >= 12 THEN 'Costoso'
WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'Asequbile'
ELSE 'Barato'
END AS PRECIO, MIN(PRECIO_DE_LISTA) as PRECIO_MINIMO
FROM tabla_de_productos
WHERE TAMANO = '700 ml'
GROUP BY ENVASE,
CASE
WHEN PRECIO_DE_LISTA >= 12 THEN 'Costoso'
WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'Asequbile'
ELSE 'Barato'
END
ORDER BY ENVASE;
Y para él funcionó, pero para mí no. ¿Por qué? Obtuve un error 1055.
La "solución" fue agregar SABOR
al GROUP BY
como lo siguiente:
SELECT ENVASE, SABOR,
CASE
WHEN PRECIO_DE_LISTA >= 12 THEN 'Costoso'
WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'Asequbile'
ELSE 'Barato'
END AS PRECIO, MIN(PRECIO_DE_LISTA) as PRECIO_MINIMO
FROM tabla_de_productos
WHERE TAMANO = '700 ml'
GROUP BY ENVASE, SABOR,
CASE
WHEN PRECIO_DE_LISTA >= 12 THEN 'Costoso'
WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'Asequbile'
ELSE 'Barato'
END
ORDER BY ENVASE;
Sin embargo, las entradas que retorna son diferentes, ¿Estoy mal? Sinceramente creo que mi retorno es más afín a lo que se está intentando buscar.