Hola Lista..!!
Feliz navidad ante todo....!!!
hoy la incongnita que se me presenta es bastante extraña, les cuento que
estoy con SQL Server 2005 y tengo una consulta donde el orden de las tablas
que joineo altera mi resultado, esto es realmente posible?!?!!?


el ejemplo que tengo es sencillo...
les muestro...


SELECT CPACALLES02.NOM_CODIGO, CPASUCURSALES02.SUC_DESCRIP, CPANOMBRES02.
NOM_CALLE
FROM CPA.DBO.NOMBRES CPANOMBRES02 (NOLOCK)
INNER JOIN CPA.DBO.CALLES CPACALLES02 (NOLOCK) ON
(CPACALLES02.NOM_CODIGO =CPANOMBRES02
.NOM_CODIGO)RIGHT JOIN CPA.DBO.SUCURSALES CPASUCURSALES02 (NOLOCK)
ON (CPACALLES02.CAL_CODIGO = CPASUCURSALES02.CAL_CODIGO)
*Me devuelve 10135 registros, mientras que
*


SELECT CPACALLES02.NOM_CODIGO, CPASUCURSALES02.SUC_DESCRIP, CPANOMBRES02.
NOM_CALLE
FROM CPA.DBO.NOMBRES CPANOMBRES02 (NOLOCK)
, B1842ZACS0004.CPA.DBO.CALLES CPACALLES02 (NOLOCK)
RIGHT JOIN CPA.DBO.SUCURSALES CPASUCURSALES02 (NOLOCK)
ON (CPACALLES02.CAL_CODIGO = CPASUCURSALES02.CAL_CODIGO)

where (CPACALLES02.NOM_CODIGO = CPANOMBRES02.NOM_CODIGO)
me trae 8709...

Ahora bien, si lo que ejecuto es esto...


SELECT CPACALLES02.NOM_CODIGO, CPASUCURSALES02.SUC_DESCRIP, CPANOMBRES02.
NOM_CALLE
FROM CPA.DBO.CALLES CPACALLES02 (NOLOCK)
RIGHT JOIN CPA.DBO.SUCURSALES CPASUCURSALES02 (NOLOCK)
ON (CPACALLES02.CAL_CODIGO = CPASUCURSALES02.CAL_CODIGO)
INNER JOIN CPA.DBO.NOMBRES CPANOMBRES02 (NOLOCK)
ON(CPACALLES02.NOM_CODIGO = CPANOMBRES02.NOM_CODIGO)

*tambien de devuelve 8709 registros!!!!*

*como es que esta trabajando el motor para que me este alterando de esta
terrible manera los resultados...?!?!?!?!*
**

Gracias a todos por leer...!!! :D
-- 
Atte Almeda Claudia

Responder a