es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

SQL seleccionando el valor máximo con todas las columnas: SELECT MAX(column_name) FROM table_name

La consulta:

SELECT 
    itemcode, whsecode, MAX(quantity)
FROM
    inventoryTable
WHERE
    itemcode = 'FG 4751'
GROUP BY 
    itemcode;

Devuelve este error:

La columna ‘inventoryTable.whsecode’ no es válida en la lista de selección porque no está incluida ni en una función de agregado ni en la cláusula GROUP BY.

Cuando coloco whsecode en la cláusula GROUP BY, solo devuelve todas las filas o múltiples filas con el itemcode ‘FG 4751’:

enter image description here

La salida que necesito es:

FG 4751|WHSE3|100
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que la consulta está intentando seleccionar una columna que no está incluida en la cláusula GROUP BY o en una función de agregado. En este caso, la columna whsecode no está incluida en ninguna de ellas. Para resolver este error y obtener la salida deseada, debemos incluir whsecode tanto en la lista SELECT como en la cláusula GROUP BY:

    SELECT 
        itemcode, whsecode, MAX(quantity)
    FROM
        inventoryTable
    WHERE
        itemcode = 'FG 4751'
    GROUP BY 
        itemcode, whsecode;
    

    Esto debería devolver una única fila con el itemcode, whsecode y la cantidad máxima para esa combinación de itemcode y whsecode.

Comments are closed.