Lef joins y sintaxis

27/09/2006 - 11:50 por solusoft | Informe spam
Hola a todos,

tengo esta sql:


select t.CD_DIC, t.NM_IDIOMA, t.DS_TEXTO1 , cd.*
from GCL_C_DICAPLIC cd, GCL_TRADUCCIONES t
where
cd.CD_DIC *= t.CD_DIC
and CD_DIC_N0 = 7
and NM_IDIOMA = 46
and id_val_clave = '2'

Y me devuelve un registro. Para ese registro los valores de los campos
t.CD_DIC, t.NM_IDIOMA, t.DS_TEXTO1 son NULL.

t.CD_DIC, t.NM_IDIOMA son campos clave de la tabla "t".


Ahora hago la sql con la sintaxis recomendada:

select GCL_TRADUCCIONES.CD_DIC, GCL_TRADUCCIONES.NM_IDIOMA,
GCL_TRADUCCIONES.DS_TEXTO1 , GCL_C_DICAPLIC.*
from GCL_C_DICAPLIC
left join GCL_TRADUCCIONES
on GCL_TRADUCCIONES.CD_DIC = GCL_C_DICAPLIC.CD_DIC

where
CD_DIC_N0 = 7
and NM_IDIOMA = 46
and id_val_clave = '2'

Y no me aparece ningún registro.

Qué se me puede estar escapando ???

Un saludo cordial.
 

Leer las respuestas

#1 Maxi
27/09/2006 - 13:51 | Informe spam
Si lees tus libros on line vera que no se recomienda el uso de *= ya que en
ciertas ocasiones puede retornar valores no deseados. De hecho ya no es mas
compatible con sql2005 ese tipo de sentencias


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"solusoft" escribió en el mensaje
news:
Hola a todos,

tengo esta sql:


select t.CD_DIC, t.NM_IDIOMA, t.DS_TEXTO1 , cd.*
from GCL_C_DICAPLIC cd, GCL_TRADUCCIONES t
where
cd.CD_DIC *= t.CD_DIC
and CD_DIC_N0 = 7
and NM_IDIOMA = 46
and id_val_clave = '2'

Y me devuelve un registro. Para ese registro los valores de los campos
t.CD_DIC, t.NM_IDIOMA, t.DS_TEXTO1 son NULL.

t.CD_DIC, t.NM_IDIOMA son campos clave de la tabla "t".


Ahora hago la sql con la sintaxis recomendada:

select GCL_TRADUCCIONES.CD_DIC, GCL_TRADUCCIONES.NM_IDIOMA,
GCL_TRADUCCIONES.DS_TEXTO1 , GCL_C_DICAPLIC.*
from GCL_C_DICAPLIC
left join GCL_TRADUCCIONES
on GCL_TRADUCCIONES.CD_DIC = GCL_C_DICAPLIC.CD_DIC

where
CD_DIC_N0 = 7
and NM_IDIOMA = 46
and id_val_clave = '2'

Y no me aparece ningún registro.

Qué se me puede estar escapando ???

Un saludo cordial.

Preguntas similares