[Solved] error en consulta en la instrucción que genera

Discute sobre las herramientas de la base de datos
Responder
pepo_kactus
Mensajes: 3
Registrado: Vie Sep 18, 2009 7:36 am

[Solved] error en consulta en la instrucción que genera

Mensaje por pepo_kactus »

cuando realizo una consulta tan simple como la que sigue me da un error, ¿Que le pasa a esta consulta que me da este error?, todos los campos son integer y están con datos numéricos.

El comando SQL que comporta este error es:

SELECT SUM( "importe" ) AS "sumatoria", "iva", "total" FROM "totales"

Estado SQL: 37000
Código de error: -67

Not in aggregate function or group by clause: org.hsqldb.Expression@190a0d6 in statement [SELECT SUM( "importe" ) AS "sumatoria", "iva", "total" FROM "totales"]

un saludo....

gracias...
Última edición por pepo_kactus el Jue Oct 22, 2009 11:43 am, editado 1 vez en total.
Windows Xp, OpenOffice 3.1.0
pepo_kactus
Mensajes: 3
Registrado: Vie Sep 18, 2009 7:36 am

Re: error en consulta en la instrucción que genera

Mensaje por pepo_kactus »

Dejé mi consulta en los foros ingleses y me dijeron esto:

http://www.1keydata.com/sql/sqlgroupby.html
SUM returns one number for the entire column. Any field you append to your aggregated "summatoria" needs to do the same trick (by means of SUM, COUNT, AVG, MIN, MAX,etc.) or it has to be a group.
The above query gets all existing, unique groups of "iva", "total" and calculates sum("importe") for each group.
WHERE("importe">1000) filters the data before they are grouped and aggregated, HAVING("summatoria")>1000 filters the grouped and aggregated data.

un saludo....

y gracias.... :super: :D
Windows Xp, OpenOffice 3.1.0
mriosv
Mensajes: 2347
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: [Solved] error en consulta en la instrucción que genera

Mensaje por mriosv »

pepo_kactus escribió: SELECT SUM( "importe" ) AS "sumatoria", "iva", "total" FROM "totales"
creo debería ser:
SELECT SUM( "importe" ) AS "sumatoria", "iva", "total" FROM "totales" GROUP BY "iva","total"

para utilizar una función agreaga p.e. SUM() necesariamente hay que agrupar, por lo que los campos del SELECT que no utilizan una función agregada deben ser utilizados para agrupar.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
Responder