Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 17
Rofocale Va por buen camino
quisiera saber porque no funciona el sum(total) porque no suma todos los registros.. que estare haciendo mal ?
Responder Con Cita
  #2  
Antiguo 11-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 11-05-2011
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 288
Poder: 21
identsoft Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 11-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 17
Rofocale Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 11-05-2011
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 288
Poder: 21
identsoft Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 12-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 17
Rofocale Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 12-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
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.
Código SQL [-]
   ' SELECT DISTINCT f.caja, Last(f.numero) as numero, f.fecha, '+
   ' f.hora, f.estatus, (f.total - f.iva) AS subtotal,'+
   ' f.iva,f. total, f.cliente, f.clave, sum(f.total) AS gtotal '+
   ' FROM ventas f WHERE f.fecha = :fecha '+
   ' GROUP BY f.caja, f.fecha, f.hora, f.estatus, f.iva, '+
   ' f.total, f.cliente, f.clave '+
   ' ORDER BY Last(f.numero) ';
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
Responder Con Cita
  #8  
Antiguo 12-05-2011
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 288
Poder: 21
identsoft Va por buen camino
Cita:
Empezado por Rofocale Ver Mensaje
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
Si solo quieres obtener la suma del campo 'total' : Select Sum(total) ... where fecha =: FECHA
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
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


La franja horaria es GMT +2. Ahora son las 20:05:25.


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