Selecion de Registros

06/02/2008 - 21:12 por SystemBuilder | Informe spam
Amigos:

Hay alguna forma de seleccionar registros de una tabla que no estan
contenidos en otra tabla?

Me explico:


Tengo en la tabla A los siguientes codigos:

AB01
AB02
AB03
AB04
AB05
AB06
AB07
AB08


En la tabla B, tengo mis ventas en un determinado plazo (esto indica
que, NO todos mis articulos se vendieron)

AB04
AB08
AB02
AB06

Necesito saber, cuales son lo codigos que no se vendieron:

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
06/02/2008 - 21:39 | Informe spam
Que version de SQL Server usas?

select *
from t1
where not exists (
select *
from t2
where t2.codigo_producto = t1.codigo_producto
)

(select codigo_producto from t1)
EXCEPT
(select codigo_producto from t2)


AMB

"SystemBuilder" wrote:

Amigos:

Hay alguna forma de seleccionar registros de una tabla que no estan
contenidos en otra tabla?

Me explico:


Tengo en la tabla A los siguientes codigos:

AB01
AB02
AB03
AB04
AB05
AB06
AB07
AB08


En la tabla B, tengo mis ventas en un determinado plazo (esto indica
que, NO todos mis articulos se vendieron)

AB04
AB08
AB02
AB06

Necesito saber, cuales son lo codigos que no se vendieron:

Muchas gracias

Respuesta Responder a este mensaje
#2 SystemBuilder
06/02/2008 - 22:36 | Informe spam
Gracias:

Uso el 2005, y estoy usando esa sintaxis, sin embargo demora mucho
puesto que tengo como 50 mil registros.

Esperaba haya algo com Left Join que haga esto,

En fin, gracias..
Respuesta Responder a este mensaje
#3 Alejandro Mesa
07/02/2008 - 02:10 | Informe spam
Cual sintaxis estas usando?

Me olvide poner DISTINCT en la primera sentencia, para que retirne el mismo
resultado que la segunda.

Revisa que tengas un indice por [codigo_producto] en cada una de las tablas.


AMB

"SystemBuilder" wrote:

Gracias:

Uso el 2005, y estoy usando esa sintaxis, sin embargo demora mucho
puesto que tengo como 50 mil registros.

Esperaba haya algo com Left Join que haga esto,

En fin, gracias..


Respuesta Responder a este mensaje
#4 SystemBuilder
07/02/2008 - 16:07 | Informe spam
Si hay indices en ambas tablas, creo que todo esta correcto, el tema
es que, creì que habìa algo que podia apurar la consulta.

Osea, al consultar la primera parte, BIEN, al consultar la segunda
parte, BIEN,

pero al consultar, la segunda parte, e indicando QUE NO EXISTA en la
otra, es ahi la demora...

en fin, como decia, crei que habìa algo como el left join, para evitar
el NOT IN.

Gracias
Respuesta Responder a este mensaje
#5 Penta
07/02/2008 - 17:04 | Informe spam
Hola.
Prueba lo siguiente.

Select *
FROM Tabla_A A
LEFT JOIN Tabla_B B
ON A.codigo=B.codigo
WHERE b.codigo IS NULL

Me comentas.
Salu2.
PENTA.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida