Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/08/2011, 13:53
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: consultar entre dos tablas

Hola de nuevo:

Mira, en la primer consulta tienes al no tener definida ninguna relación entre tus tablas se está realizando un producto carteciano, la segunda al utilizar INNER JOIN entonces siempre estarías regresando registros que aparezcan en tus dos tablas cosa que tampoco te sirve.

No pones cual es la estructura de tus tablas, ni nos mencionas cuáles son tus campos llaves, por lo que voy a tratar de explicar con estructuras y datos inventados a ver si se entiende más o menos lo que intento hacer.

Supongamos que tu tabla1 tiene los siguientes datos:

Código:
Tabla1
    id  descripcion
------  -----------
     1  uno        
     2  dos        
     3  tres
Supongamos que tu tabla2 tiene los siguientes datos:

Código:
Tabla2
    id  descripcion
------  -----------
     1  uno               
     3  tres
Por lo tanto es claro que el registro 2 de la tabla 1 no existe en tu tabla2, esto lo puedes hacer como te dije de tres maneras distintas:

Con LEFT JOIN:

Código:
SELECT T1.*
FROM Tabla1 T1 LEFT JOIN Tabla2 T2 ON T1.id = T2.id 
WHERE T2.id IS NULL

Con NOT EXISTS:
SELECT T1.* FROM Tabla1 T1 
WHERE NOT EXISTS (SELECT ID FROM Tabla2 T2 WHERE T1.ID = T2.ID)

CON NOT IN:
SELECT T1.* FROM Tabla1 T1 
WHERE ID NOT IN (SELECT ID FROM Tabla2 T2)
Si esto no es lo que necesitas entonces postea la estructura de tus tablas y pon algunos datos de ejemplo, tratando de explicar un poco mejor qué es lo que necesitas de salida

Saludos
Leo.