SQL - Necesito Registros No iguales

 
Vista:

Necesito Registros No iguales

Publicado por Rena (1 intervención) el 04/10/2002 17:16:26
Hola...
Tengo dos Tablas y en las dos existe un campo "correlativo", y ademas un "codigo de area"

En rigor, cuando se graba la informacion, esta se almacena en las dos tablas manteniendo estos dos campos en cada una. Existe un min en que pasa algo y graba solo en una...... Necesito saber cuales son los registros que existe en una tabla y no en la otra...

Desde ya muchas gracias....

Rena
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito Registros No iguales

Publicado por Fernando Pena (49 intervenciones) el 04/10/2002 18:14:18
Hola que tal !!.
Bien, creo que lo que necesitas es un "JOIN"
(enfrentar ambas tablas) y saber QUE REGISTROS de la tabla de la derecha (TABLA2) NO ESTAN en la tabla de la izquierda (TABLA1) (un "RIGHT JOIN" -por ejemplo).
Ejemplo :

SELECT [TABLA1].[codigo area],
[TABLA2].[codigo area]
FROM [TABLA1] RIGHT JOIN [TABLA2]
ON [TABLA1].[codigo area] = [TABLA2].[codigo area]

WHERE [TABLA1].[codigo area] IS NULL

-La "WHERE" provoca que aparezca "NULL" cuando en la TABLA2
exista el código de aréa PERO NO EXISTA en la TABLA1

Esperando te sirva de ayuda. Saludos.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito Registros No iguales

Publicado por Fernando Pena (49 intervenciones) el 04/10/2002 18:35:52
Hola !. Para ser más concreto :

TABLA1
correlativo codigo area
1 1001
2 1002
3 1003
4 1004
5 1005

TABLA2
correlativo codigo area
1 1001
2 1002
3 1005
4 1004


SELECT [TABLA1].*, [TABLA2].*
FROM [TABLA1] RIGHT JOIN [TABLA2]
ON [TABLA1].[codigo area] = [TABLA2].[codigo area]
AND [TABLA1].[correlativo] = [TABLA2].[correlativo]

La salida es :

TABLA1 TABLA2
correlativo codigo area correlativo codigo area
----------- ----------- ----------- -----------
1 1001 1 1001
2 1002 2 1002
NULL NULL 3 1005
4 1004 4 1004

-Como se hace un "RIGHT JOIN" el No.5 No aparece pues NO ESTA
en la TABLA2 (la de la derecha)

Si haces un "LEFT" JOIN :

correlativo codigo area correlativo codigo area
----------- ----------- ----------- -----------
1 1001 1 1001
2 1002 2 1002
3 1003 NULL NULL
4 1004 4 1004
5 1005 NULL NULL

- Podrías añadir una WHERE = "NULL" para restringir valores que se cumplen en la tabla de la izquierda y no en la de la derecha....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar