Club Delphi  
    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 22-06-2008
nikotina nikotina is offline
Miembro
 
Registrado: oct 2006
Posts: 84
Poder: 18
nikotina Va por buen camino
Ayuda con group by

Hola gente.

tengo dos tablas. una "clientes"(datos de clientes) y otra "pagos"(registro de pagos de cada cliente) las cuales las enlazo en un query por medio del campo id_cliente.
La idea es listar por cada cliente el registro de pagos del mismo mas o menos asi:
MARTINEZ NICOLAS
25/02/2007----$50
23/03/2007----$30

LAFFITTE EUGENIA
26/03/2008----$32
28/04/2008----$55
30/05/2008----$653

La consulta SQL es la siguiente:
Código SQL [-]
select cli.id_cliente, cli.nom_cliente, pag.id_cliente, pag.fecha, pag.monto
from clientes as cli, pagos as pag
group by cli.id_cliente, cli.nom_cliente, pag.id_cliente, pag.fecha, pag.monto

Es la unica manera que la consulta no me de error.

pero mi problema real es que por cada iteraccion de la consulta me muestra el nombre del cliente. O sea, por cada registro de pago.
Ejemplificando lo anterior:

MARTINEZ NICOLAS
25/02/2007----$50
MARTINEZ NICOLAS
23/03/2007----$30

LAFFITTE EUGENIA
26/03/2008----$32
LAFFITTE EUGENIA
28/04/2008----$55
LAFFITTE EUGENIA
30/05/2008----$653

Si alguin me puede ayudar se lo agradesco.

Uso Delphi 7 y Paradox
Responder Con Cita
  #2  
Antiguo 22-06-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Código SQL [-]
select cli.id_cliente, cli.nom_cliente, pag.id_cliente, pag.fecha, Sum(pag.monto)
from clientes as cli, pagos as pag
group by cli.id_cliente, cli.nom_cliente, pag.id_cliente, pag.fecha

te falto sumar la columna del monto, asi te sumara el monto por cada cliente en cada fecha, si lo quieres general no dividido por fecha simplemente le quitas el campo de fecha y listo
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 23-06-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola nikotina, tu quieres mostrar un cliente y todos sus pagos respectivos, lo mismo para todos tus clientes, si es asi, talvez te sirva tener dos querys, uno lo utilizas para tus clientes, el otro para tus pagos y haces una relación maestro detalle, digamos que cada uno de tus querys lo enlazas a dbGrids, entonces con esa relación al moverte entre tus clientes podras ver todos los pagos que ha realizado cada uno de tus clientes en el otro dbgrid.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 23-06-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
A parte de la suma que te faltaba, como bien ha dicho Eduarcol, deberías poner el inner join....
Código SQL [-]
select cli.id_cliente, cli.nom_cliente, pag.id_cliente, pag.fecha, Sum(pag.monto)
from clientes as cli inner join pagos as pag on Clientes.id_cliente=Pagos.id_Cliente
group by cli.id_cliente, cli.nom_cliente, pag.id_cliente, pag.fecha
Responder Con Cita
  #5  
Antiguo 23-06-2008
nikotina nikotina is offline
Miembro
 
Registrado: oct 2006
Posts: 84
Poder: 18
nikotina Va por buen camino
Hola Caro. Gracias por ayudar. El tema es que la consulta la tengo en un QREPORT.
Es por eso que necesito mostrar el registro de pagos agrupados por cada cliente
Responder Con Cita
  #6  
Antiguo 23-06-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola nikotina, en quickReport tampoco hay problema de usar la relación maestro detalle, los relacionas de esa forma y despues si quieres muestras el resultado en dbGrids como te decía o en el QuickReport, en este caso, el query que hace de maestro lo enlazas a tu QuickReport y lo muestras en una banda qrDetail y para mostrar el detalle lo haces en una banda qrSubDetail.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
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
Consulta con group by y min zvf SQL 2 21-04-2008 20:13:25
uso del Group By esimon SQL 8 05-02-2008 18:14:10
Impresion de group header group footer Manuel Impresión 3 11-11-2007 01:05:23
consultas anidadas: group by dentro otro group by DobleSiete SQL 7 31-01-2005 14:59:31
Group Header, Detail y Footer Group en la misma pagina MarcelRuz Impresión 0 20-04-2004 23:27:14


La franja horaria es GMT +2. Ahora son las 12:50:14.


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