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

CASE

Cuando se agrupa, siempre debe repetirse el CASE? Cual es el motivo de repetir el CASE? Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

SELECT ENVASE, SABOR,
CASE
    WHEN PRECIO_DE_LISTA >= 12 THEN 'COSTOSO'
    WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'ASEQUIBLE'
    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 'ASEQUIBLE'
    ELSE 'BARATO'
END
ORDER BY ENVASE;
3 respuestas

Hola Julian, espero que estés bien! Gracias por compartir tu código con nosotros. Si tiene alguna pregunta sobre el contenido del curso, estamos aquí para ayudarlo. ¡Sigue practicando! ¡Vamos juntos! :)

Si este post te ayudó, por favor, marca como solucionado ✓.

Si, la pregunta ya la hice en el post

No precisamente, solo agrupas lo que quieras agrupar, el case es como si fuera una columna mas

SELECT ENVASE, SABOR, CASE WHEN PRECIO_DE_LISTA >= 12 THEN 'COSTOSO' WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'ASEQUIBLE' ELSE 'BARATO' END AS PRECIO, MIN(PRECIO_DE_LISTA) AS PRECIO_MINIMO FROM TABLA_DE_PRODUCTOS WHERE TAMANO = '700 ML' GROUP BY ENVASE ORDER BY ENVASE;

SELECT ENVASE, SABOR, CASE WHEN PRECIO_DE_LISTA >= 12 THEN 'COSTOSO' WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'ASEQUIBLE' ELSE 'BARATO' END AS PRECIO, MIN(PRECIO_DE_LISTA) AS PRECIO_MINIMO FROM TABLA_DE_PRODUCTOS WHERE TAMANO = '700 ML' GROUP BY ENVASE, SABOR ORDER BY ENVASE;