Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Crear CONSULTA... (https://www.clubdelphi.com/foros/showthread.php?t=59594)

Rogersito Plus 02-09-2008 01:37:41

Crear CONSULTA...
 
Estimados colegas; gracias por sus ayudas/comentarios... lo que tengo:

Tabla1 (ID1, COL12, COL13, ID_TABLA2, ID_TABLA3,,,)
Tabla2 (ID2, COL22, COL23,,,)
Tabla3 (ID3, COL32, COL33,,,)

El SQL de mi QUERY:

select
T1.ID1, T1.COL12, T1.COL13,
T2.ID2, T2.COL22, T2.COL23,
T3.ID3, T3.COL32, T3.COL33
from
Tabla1 T1, Tabla2 T2, Tabla3 T3
where
T1.ID_TABLA2 = T2.ID2 and
T1.ID_TABLA3 = T3.ID3;

El detalle es que en Tabla1 las columnas ID_TABLA2, ID_TABLA3 en algunos registros/filas no deben tener VALOR osea quedan como Cero(0) o hasta a veces como NULL; entonces al ejecutar mi consulta no aparecen todos mis registros de Tabla1; sino solo aquellos que cumplan la condicion despues de WHERE :

Mi consulta es: como debe ser el SELECT de mi QUERY para que aparezcan todos mis registros de Tabla1.

Gracias por anticipado...

Caro 02-09-2008 04:11:32

Cita:

Empezado por Rogersito Plus (Mensaje 310973)
Tabla1 (ID1, COL12, COL13, ID_TABLA2, ID_TABLA3,,,)
Tabla2 (ID2, COL22, COL23,,,)
Tabla3 (ID3, COL32, COL33,,,)

El detalle es que en Tabla1 las columnas ID_TABLA2, ID_TABLA3 en algunos registros/filas no deben tener VALOR osea quedan como Cero(0) o hasta a veces como NULL; entonces al ejecutar mi consulta no aparecen todos mis registros de Tabla1; sino solo aquellos que cumplan la condicion despues de WHERE :

Hola Rogersito, debes utilizar Left Join en tu consulta, para que tengas todos los registros de la tabla1 no importando que no tenga su correspondiente en tabla2 o tabla3.

Código SQL [-]
 
select T1.ID1, T1.COL12, T1.COL13,
         T2.ID2, T2.COL22, T2.COL23,
         T3.ID3, T3.COL32, T3.COL33
from Tabla1 T1
       Left Join Tabla2 T2 ON (T1.ID_TABLA2 = T2.ID2)
       Left Join Tabla3 T3 ON (T1.ID_TABLA3 = T3.ID3)

Saluditos

maeyanes 02-09-2008 14:28:47

Hola...

Rogersito Plus, solo para recordarte que estos foros tienen una Guía de Estilo (enlace arriba del banner) y que uno de los puntos que toca es el de no poner una misma duda en varios foros a la vez. Te invito a que la leas de nuevo.

Esto lo saco a colación por que acabo de responderte a lo mismo en otro tema con la misma pregunta y ahora descubro que aquí ya te han respondido de igual forma...



Saludos...

Rogersito Plus 04-09-2008 17:33:12

Funciona...
 
Gracias por tu ayuda [Caro],,, realmente funciona... GRACIAS
entiendo [maeyanes],,,
de todas maneras gracias por tus comentarios...


La franja horaria es GMT +2. Ahora son las 12:22:32.

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