Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta de dos tablas. (https://www.clubdelphi.com/foros/showthread.php?t=50035)

digital 06-11-2007 19:13:44

consulta de dos tablas.
 
buenos dias compañeros.. tengo un problema con una consulta..
tengo dos tablas, una de deudores (es un catalogo que se filtra por clientes ) y la otra se llama gestiones (es un historial de los movimiento ) necesito imprimir todos los deudores con un detalle de movimientos de gestiones con un rengo de fechas.

tabla A (deudores) tabla B (gestiones)
id_cliente id_deudor
id_deudor fecha_gestion
nombre observaciones
id_cliente id_deudor nombre id_deudor fecha_gestion observaciones
1 1 juan 1 01/01/07 bueno
1 2 perez 1 02/01/07 bueno
1 3 perez2 1 03/01/07 bueno
2 4 menganito 2 01/01/07 bueno
2 5 sotanito 2 02/01/07 bueno


mi consulta seria esta. quiero que me liste todos los deudores que tiene id_cliente 1 y que tenga gestiones el dia 01/01/2007

pongo esta sentencia y solo consulto un un deudor

Código SQL [-]
select 
a.id_cliente,   
a.id_deudor,                               
a.nombre,
b.id_deudor,
b.fecha_gestion,
b.observaciones                                 
from deduroes a 
left join a.id_deudor=b.id_deudor
where a.id_cliente=1 and b.fecha_gestion between '01/01/2007' and '01/01/2007'
este es el resultado..
id_cliente id_deudor nombre id_deudor fecha_gestion observaciones
1 1 juan 1 01/01/07 bueno

lo que quiero es esto..

id_cliente id_deudor nombre id_deudor fecha_gestion observaciones
1 1 juan 1 01/01/07 bueno
1 2 perez null
1 3 perez2 null


que estoy haciendo mal. ?

ContraVeneno 06-11-2007 19:35:33

prueba con

Código SQL [-]
select 
a.id_cliente,   
a.id_deudor,                               
a.nombre,
b.id_deudor,
b.fecha_gestion,
b.observaciones                                 
from deduroes a 
left outer join a.id_deudor=b.id_deudor
where a.id_cliente=1 and b.fecha_gestion between '01/01/2007' and '01/01/2007'
left outer

digital 06-11-2007 19:57:04

me da el mismo resultado..

ContraVeneno 06-11-2007 20:25:09

Código SQL [-]
select 
a.id_cliente, a.id_deudor, a.nombre,
b.id_deudor, b.fecha_gestion, b.observaciones                                 
from deduroes a 
left outer join gestiones b on (a.id_deudor=b.id_deudor and b.fecha_gestion between '01/01/2007' and '01/01/2007')
where a.id_cliente=1

digital 06-11-2007 20:41:00

gracias por tu respuesta contraveneno funciona bien...


La franja horaria es GMT +2. Ahora son las 03:51:31.

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