Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-06-2007
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 23
Angel Fernández Va por buen camino
Error al agrupar totales por mes

Saludos al foro.

Tengo una duda que no he conseguido resolver buscando por el foro.

Tengo una BD en Access a la que accedo desde D7 con componentes ADO. La BD tiene, entre otras, las tablas Facturas (con los campos: Numfactura, Fecha, Idcliente, Situacion, Total, etc...) y Clientes
(idcliente, nombre, etc...)

Quiero hacer una consulta que me muestre el total facturado agrupado por mes, algo así:

Mes Total
------------
01 256.36
02 2569.45
etc

Para ello utilizo un Adoquery con la siguiente sql:

select MONTH(Facturas.Fecha) as mes,Facturas.idcliente, Clientes.idcliente, Clientes.Nombre, Facturas.Total, Facturas.Tipo, Facturas.Situacion, Sum(Facturas.Total) as Sumatotal
from Facturas,Clientes
where Clientes.idcliente=Facturas.idcliente
group by mes


Pero no funciona. Me da el siguiente error:
'Ha intentado ejecutar una consulta que no incluye la expresión especificada 'MONTH(Facturas.Fecha)' como parte de una función de agregado'

En cambio, con esta SQL me funciona:

select MONTH(Facturas.Fecha) as mes,Facturas.idcliente, Clientes.idcliente, Clientes.Nombre, Facturas.Total, Facturas.Tipo, Facturas.Situacion
from Facturas,Clientes
where Clientes.idcliente=Facturas.idcliente

Nótese que he quitado el sum(facturas.total) as sumatotal y el group by mes.
Si sólo quito el group by mes y dejo el sum(facturas.total) as sumatotal también me da el mismo error.

Evidentemente, con el sql que funciona no consigo lo que quiero.

¿Dónde está el fallo?

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 11-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Según el error, no puedes usar

group by mes

sino

group by Month(Facturas.Fecha)

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 11-06-2007
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 23
Angel Fernández Va por buen camino
Resuelto

Gracias Lepe por tu pronta respuesta. Con lo que has dicho y trasteando un poco he solucionado el problema.

El sql que funciona es este:

select MONTH(Facturas.Fecha) as mes, Sum(Facturas.Total) as Sumatotal
from Facturas
where Facturas.Tipo = 'Factura'
group by MONTH(Facturas.Fecha)

No se pueden poner mas campos en el select (Facturas.Tipo, Facturas.Situacion etc.) porque si no, se repite el error que comentaba en mi primer comentario.

Te lo agradezco, Lepe. Un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
incluir totales o no reevil MySQL 12 06-05-2006 07:42:05
Totales en informe Asshole Impresión 1 16-06-2005 15:33:05
Totales con FreeReports brandolin Impresión 0 28-08-2004 07:13:37
Problemas con Totales pruz Impresión 3 26-07-2004 21:08:48
Campo totales R.Rodriguez Tablas planas 1 21-05-2004 08:28:45


La franja horaria es GMT +2. Ahora son las 23:08:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi