Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

NO SE EJECUTA

SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE, EDAD FROM tabla_de_clientes WHERE EDAD >=20 GROUP BY ESTADO, BARRIO ORDER BY EDAD;

3 respuestas

Hola Moralens, cómo va? Analizando tu consulta, parece que estás intentando obtener el estado, el barrio, el límite de crédito máximo y la edad de los clientes que tienen al menos 20 años, agrupados por estado y barrio, y ordenados por edad.

La consulta que has proporcionado parece estar bien escrita. Sin embargo, es posible que estés obteniendo un error al ejecutarla debido a la tabla o a los datos que estás utilizando. Te recomendaría revisar si la tabla "tabla_de_clientes" existe y si contiene los campos mencionados en tu consulta. ;)

Además, asegúrate de que los nombres de los campos y las tablas estén escritos correctamente y de que estés conectado a la base de datos correcta.

Si después de revisar estos aspectos sigues teniendo problemas, sería útil que proporciones más información sobre el error que estás obteniendo para que pueda ayudarte de manera más específica.

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

La tabla de clientes existe y esta en mi base de datos. no se porque no se ejecuta

solución!

Hola Moralens, espero que te encuentres muy bien.

Yo también tuve el mismo error al momento de ejecutar la consulta que compartiste, pero afortunadamente ya encontré la solución a dicho error. La causa de que no se ejecuta, es porque en las consultas en las que se emplea el comando GROUP BY, solo se pueden imprimir los campos que específiques en dicho comando y las funciones de agrupación (SUM, AVG, COUNT, etc.). Por ejemplo, si tu consulta es:

SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE, EDAD 
    FROM tabla_de_clientes 
    WHERE EDAD >=20 
    GROUP BY ESTADO, BARRIO 
    ORDER BY EDAD;

Solamente puedes imprimir los campos ESTADO, BARRIO y LIMITE, ya que estás agrupando los campos con el comando GROUP BY solo por ESTADO y BARRIO, y LIMITE es la función de agrupación MAX(). El campo EDAD es el que está ocasionando el error, ya que no está contemplado en la agrupación, así que tienes dos opciones para solucionar el problema:

  1. Quita el campo edad de la consulta:
SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE
    FROM tabla_de_clientes 
    WHERE EDAD >=20 
    GROUP BY ESTADO, BARRIO 
  1. Agrega el campo edad en el GROUP BY:
SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE, EDAD 
    FROM tabla_de_clientes 
    WHERE EDAD >=20 
    GROUP BY ESTADO, BARRIO, EDAD 
    ORDER BY EDAD;

Con cualquiera de las dos opciones que elijas, tu consulta debería ejecutarse sin problemas. Se que en el video del profe, la consulta aparecia como tu la compartiste, pero por error se ejecutó una consulta anterior y por eso parece que esa consulta está correcta, pero no. Ojala que esto solucione tu problema.

¡Saludos!