Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   JOIN un poco raro (https://www.clubdelphi.com/foros/showthread.php?t=30012)

AzidRain 07-02-2006 06:47:58

JOIN un poco raro
 
Hola a todos:

Llevo varios días devanándome los sesos con una consulta que no me sale:

Veamos:
Tenemos 3 tablas:

Cobranza -- Clientes -- Det_Cobranza

Cobranza contiene facturas por cobrar con todos sus datos
Clientes contiene obviamente los datos de los clientes
Det_Cobranza es un subgrupo de facturas que tambien estan contenidas en la tabla cobranza pero no contiene todos los campos de aquella.

Cobranza y clientes comparten el campo NUMCLIENTE
Cobranza y Det_Cobranza comparten el campo ID
Det_Cobranza y Clientes comparten el campo NUMCLIENTE tambien

Ahora bien, hay que hacer una consulta que devuelva los datos explosionados de la tabla Det_Cobranza tomando los detalles de las otras dos tablas:

Det_Cobranza solo contiene:

ID, NUMCLIENTE,IMPORTE, FOLIO

parecería sencillo, pero hay un detalle. el valor del campo NUMCLIENTE no precisamente aparecerá en la tabla CLIENTES, o sea que si ponemos un JOIN asi:
Código:

WHERE DET_COBRANZA.NUMCLIENTE=CLIENTES.NUMCLIENTE
dejamos fuera a todos los registros de DET_COBRANZA en donde NUMCLIENTE no aparezca en la tabla CLIENTES...¿Como diseñamos la consulta de manera que devuelva tambien los registros que no tienen coincidencia en la tabla CLientes?

Ojalá y alguien me eche la mano...
saludos.

roman 07-02-2006 08:30:13

No es que sea un join raro sino que no es el tipo de join que necesitas. Para incluir filas aun cuando en la tabla relacionada no haya coincidencias lo que requieres es un outer join. Algo como

Código SQL [-]
select det_cobranza.*
from det_cobranza
left join clientes on clientes.numcliente = det_cobranza.numcliente

// Saludos


La franja horaria es GMT +2. Ahora son las 18:03:54.

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