Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta NOT IN

Estas en el tema de Consulta NOT IN en el foro de Bases de Datos General en Foros del Web. Estoy trabajando con Mysql 2.23.58 y PHP Tengo una Tabla(REP_TIEMPO) en donde tengo los id de los empleados y otra (EMPLEADO) en donde tengo los ...
  #1 (permalink)  
Antiguo 07/06/2005, 13:40
 
Fecha de Ingreso: marzo-2005
Mensajes: 14
Antigüedad: 19 años, 8 meses
Puntos: 0
Consulta NOT IN

Estoy trabajando con Mysql 2.23.58 y PHP

Tengo una Tabla(REP_TIEMPO) en donde tengo los id de los empleados y otra (EMPLEADO) en donde tengo los datos de cada empleado y necesito sacar todos los empleados que no se encuentran en la tabla REP_TIEMPO.

y tengo lo siguiente, pero me saca un error y no se que es:

Código PHP:
 SELECT nombre FROM EMPLEADO WHERE id NOT IN (SELECT EMPLEADO_id FROM REP_TIEMPOLIMIT 030 

ERROR

You have an error in your SQL syntax near 'SELECT EMPLEADO_id FROM REP_TIEMPO) LIMIT 0, 30' at line 1 


Si alguien sabe cual es el error o tiene otra solucion mejor... le agradeceria muchisimo..
  #2 (permalink)  
Antiguo 07/06/2005, 16:27
 
Fecha de Ingreso: octubre-2004
Ubicación: Guatemala
Mensajes: 83
Antigüedad: 20 años, 1 mes
Puntos: 0
Problema: version de Mysql. Mysql acepta subconsultas hasta en las ultimas versiones.

Posible solucion: almacenar el resultado del query y realizar una consulta del tipo:

SELECT nombre FROM EMPLEADO WHERE id NOT IN (1, 2, 5)
__________________
Definitivamente la vida no es como en las películas...
C'est la vie
  #3 (permalink)  
Antiguo 07/06/2005, 17:47
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 19 años, 9 meses
Puntos: 0
Hecha un ojo aqui para encontrar tu solución:

http://www.forosdelweb.com/showthread.php?t=305196
http://www.forosdelweb.com/f21/subconsultas-con-305203/

A mi me ayudó
__________________
Arrancando...
  #4 (permalink)  
Antiguo 08/06/2005, 05:15
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
Tienes dos posiblidades, las dos, a mi entender, igualmente válidas:
Código:
SELECT nombre , count(rep_tiempo.id_empleado)
FROM EMPLEADO left join rep_tiempo on empleado.id = rep_tiempo.id_empleado
group by nombre
having count(rep_tiempo.id_empleado) = 0
y la otra opción
Código:
SELECT nombre
FROM EMPLEADO left join rep_tiempo on empleado.id = rep_tiempo.id_empleado
where id_empleado is null
Un saludo.
__________________
Estoy contagiado de Generación-I
  #5 (permalink)  
Antiguo 08/06/2005, 10:37
 
Fecha de Ingreso: marzo-2005
Mensajes: 14
Antigüedad: 19 años, 8 meses
Puntos: 0
ok.... gracias... voy a intentar esas soluciones y si tengo problemas les comento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:07.