Ver Mensaje Individual
  #7 (permalink)  
Antiguo 26/04/2011, 15:16
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: Negar una consulta SQL

Hola max_mouse699:

Con permiso de los compañeros Iislas y Libra.

Como comenta el compañero Iislas no es recomendable utilizar las sentencias IN y NOT IN, ya que estás son soluciones muy lentas comparadas por ejemplo con EXISTS. en tu post dices

Cita:
Si bien diran de que deberia funcionar, pero en la practica no funciona muy bien
La sentencia funciona SIEMPRE y BIEN, el problema es que pongas la sintaxis correcta. Para convertir la solución que te dio el compañero Libra con EXISTS sería más o menos así:

Código SQL:
Ver original
  1. FROM celulares C
  2. INNER JOIN paises P ON P.id_interno=C.id
  3. WHERE NOT EXISTS (
  4. SELECT id_celular
  5. FROM asignacion_celulares_a_paises ACP
  6. WHERE C.id=ACP.id
  7. )

Si la sentencia te marca un error o no te regresa los resultados que estás esperando coméntanos más acerca de estos problemas, para ayudarte a afinar la sentencia.

También mencionas lo siguiente:

Cita:
y estuve veriguando lo que hacia el INNER JOIN y me di cuenta de que funciona pero para dos tablas, no para 3 como lo queria yo
Tú puedes hacer TANTOS JOIN'S (INNER, LEFT, RIGHT) como lo deseas, otra vez, el punto es que tengas la sintaxis correcta, en mi he manejado JOIN'S con más de 10 tablas sin ningún problema.

Saludos
Leo.