Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   consulta de clientes con saldo (https://www.clubdelphi.com/foros/showthread.php?t=95127)

Joser 21-03-2021 21:42:22

consulta de clientes con saldo
 
Buenas tardes, tengo una tabla de movimientos que entre sus campos está el ID de cliente, fecha del movimiento, importe, saldo, etc. y lo que necesito listar es un detalle de todos los clientes que adeudan a la fecha con un total adeudado, debiendo quedar algo como lo siguiente:

nombre del cliente - DNI - Saldo
====================

esta sentencia la pruebo en ibexpert y funciona bien pero no pude agregar el inner join para la tabla personas, desde donde tendría los datos a mostrar del cliente (nombre - dni).

Código SQL [-]
select Distinct(movimientos.cliente), sum(movimientos.saldo) 
from movimientos
where movimientos.saldo > 0
group by movimientos.cliente

a saber, la aplicación esta en Delphi 10.3 y la base de datos en firebird, desde ya agradezco el tiempo que se toman para contestar.

Gregorio Cíber 21-03-2021 22:25:27

¿Esto no valdría?

select Distinct(movimientos.cliente), sum(movimientos.saldo)
from movimientos
left outer join clientes on (movimientos.ID_cliente = clientes.ID_cliente)
where movimientos.saldo > 0
group by movimientos.cliente

Joser 21-03-2021 22:58:25

Cita:

Empezado por Gregorio Cíber (Mensaje 540390)
¿Esto no valdría?

select Distinct(movimientos.cliente), sum(movimientos.saldo)
from movimientos
left outer join clientes on (movimientos.ID_cliente = clientes.ID_cliente)
where movimientos.saldo > 0
group by movimientos.cliente



buenas tardes y gracias por responder Gregorio Cíber, el tema es que de la manera que vos lo presentas y de la forma en que yo lo he hecho me dan los mismos resultados, yo quiero cambiar ese id de cliente por el nombre y el dni de la persona.

Gregorio Cíber 21-03-2021 23:18:20

Cita:

Empezado por Joser (Mensaje 540392)
buenas tardes y gracias por responder Gregorio Cíber, el tema es que de la manera que vos lo presentas y de la forma en que yo lo he hecho me dan los mismos resultados, yo quiero cambiar ese id de cliente por el nombre y el dni de la persona.

Bueno pues creo que sería así, perdón si me equivoco:

Código SQL [-]
select Distinct(movimientos.cliente), clientes.nombre, clientes.dni, sum(movimientos.saldo)
from movimientos
left outer join clientes on (movimientos.ID_cliente = clientes.ID_cliente)
where movimientos.saldo > 0
group by movimientos.cliente, clientes.nombre, clientes.dni

Joser 21-03-2021 23:58:34

Cita:

Empezado por Gregorio Cíber (Mensaje 540393)
Bueno pues creo que sería así, perdón si me equivoco:

Código SQL [-]
select Distinct(movimientos.cliente), clientes.nombre, clientes.dni, sum(movimientos.saldo)
from movimientos
left outer join clientes on (movimientos.ID_cliente = clientes.ID_cliente)
where movimientos.saldo > 0
group by movimientos.cliente, clientes.nombre, clientes.dni


Gracias por tu respuesta, funciona perfecto, pude ver que el error estaba en el Group by, solo estaba movimientos.cliente, pero faltaban los otros campos. De nuevo gracias.


La franja horaria es GMT +2. Ahora son las 13:13:55.

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