FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ayuda problema con group by
hola a todos este codigo utilizo para filtrar registros de una base de datos.. pero la parte sum(total) no me suma solo me devuelve el resultado del primer registro
ese codigo filtra por fecha y me devuelve bien la suma de todos los registros de tal fecha jose 2.5 05/05/2011 maria 2.5 05/05/2011 carla 1.0 06/05/2011 si lo filtro por fecha 5 solo sale en un text el total de gtotal que seria 5 todo bien ahi ahora como veran no solo necesito la suma del total en un edit si no que tmb me muestre el filtrado asi jose 2.5 05/05/2011 maria 2.5 05/05/2011 ahora implemento el codigo asi
y como aumente todos los campos que se necesita para que se muestre ahora aparte de en un edit el total tambien en un GRID me sale que necesito un group by clause
lo implemento asi y me filtra bien me muestra los resultados si filtro por fecha 05/05/211 esto jose 2.5 05/05/2011 maria 2.5 05/05/2011 pero en el edit me sale solo 2.5 ese es mi problema que ahora ya no me suma el total, creo que estoy haciendo algo mal con el group by necesito que me ayuden porfavor muchas gracias de antemano |
#2
|
||||
|
||||
Hola
No entiendo bien el problema, pero si fuera el group by daria error, no resultados equivocados. Me parece. Saludos
__________________
Siempre Novato |
#3
|
|||
|
|||
quisiera saber porque no funciona el sum(total) porque no suma todos los registros.. que estare haciendo mal ?
|
#4
|
||||
|
||||
Hola
En base a mi poca experiencia: Aveces dependiendo de la base de datos, para que la suma sea la que uno requiere se necesita definir algunos parametros adicionales como podrian ser, distinct, max, min, etc. Los registros son secuenciales, eso quiere decir que ocupan toda la linea, si se quiere hacer una suma sobre todo total, se necesita hacer una distincion para que se defina correctamente el dato. No creo que te pueda ayudar mucho, pero por lo menos ponemos la duda en la primera fila. Saludos
__________________
Siempre Novato |
#5
|
|||
|
|||
Cuando haces un Sum(algo), este Sum te lo hace de los campos que le digas en group by. Si especificas muchos campos en group by, la instruccion Sql no da error, pero no saca el resultado que esperamos.
En concreto: 1º: si la el Where lleva el campo fecha, no se porque el group by lleva el campo fecha. 2ª Si quieres agrupar el valor de un campo(total) en función del cliente, en el group by debería estar solo el cliente (porque la fecha ya la seleccionas en la seccion del where). 3º Si quieres agrupar por Horas y ordenado por cliente, deberias utilizar el group by horas y order by cliente En fín, he intentado explicar un poco como funciona el group by, no intento solucionar tu problema, porque no se lo que quieres. Un saludo jesús |
#6
|
|||
|
|||
no puedo quitarle ningun campo al group by porque da error.. en el group no se pone todos los campos que estan en el select y no son afectados ?.. bueno porque si le quito por ejemplo fecha da error de invalid columm reference
uso como base de datos firebird |
#7
|
|||
|
|||
No comprendo como en la select tienes ... total-iva, iva, total y sum(total).
¿No será sum(total-iva), Sum(iva) y Sum(total) ? Si no es así, explica que quieres obtener |
#8
|
|||
|
|||
el codigo que tengo arriba quiero que funcione el sum(total) ya que si tengo
nombre total fecha ------ ---- ----- maria 2.5 05/05/2011 jose 2.0 05/05/2011 este me devuelve 2.5 y no 4.5 quiero obtener la suma,el total de lo que se muestra en el campo total |
#9
|
||||
|
||||
Hola
Hay campos coincidentes, en tu caso dos, por lo menos eso es lo que muestras. Si no se define que o cuales campos sumar como puede hacer la operacion el sistema ?. Hay que definir que es lo que se quiere y usar los elementos SQL que sean necesarios. Este es un ejemplo de ese uso, no se si sera tu caso pero es la idea. Como ves se indica la definicion de un campo, en este caso f.caja y ademas se define que sea el ultimo dato de f.numero, osea, busca una linea de la tabla. Espero que te de alguna idea. Saludos
__________________
Siempre Novato |
#10
|
|||
|
|||
Cita:
pero este select es independiente del select anterior. En el select anterior le estas diciendo (entre otras cosas) que te sume el campo total en función: 1º te le agrupe por caja 2º dentro de caja te lo agrupe por fecha 3º dentro de fecha te lo agrupe por hora ... etc Al final el sumatorio es el sumatorio de un único registro, lo cual creo que no es lo que buscas. |
#11
|
|||
|
|||
exacto.. como podria hacer para resolverlo ? 8-) alguna idea
|
#12
|
|||
|
|||
como puedo hacer 2 selects a la ves para asi obtener tambien el sum(f.total) de manera correcta ?
|
#13
|
||||
|
||||
Hola
Un solo parametro, dos select: Saludos
__________________
Siempre Novato |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda group by x fecha¡¡¡ | Poke | SQL | 13 | 17-04-2010 14:43:58 |
Ayuda con group by | nikotina | SQL | 5 | 23-06-2008 14:32:43 |
Problema con Group by | david_uh | Firebird e Interbase | 2 | 13-04-2008 20:37:08 |
Problema con group by | apicito | SQL | 7 | 23-05-2006 08:32:25 |
problema con group by | raudelink | SQL | 2 | 18-10-2004 21:19:05 |
|