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

Select

Estas en el tema de Select en el foro de PostgreSQL en Foros del Web. hola que tal a todos, tengo un problema con un SELECT para ver si me pueden ayudar. esto es lo que sucede : tengo un ...
  #1 (permalink)  
Antiguo 09/02/2007, 07:22
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 21 años, 9 meses
Puntos: 0
Select

hola que tal a todos, tengo un problema con un SELECT para ver si me pueden ayudar. esto es lo que sucede :

tengo un tabla empleado con los siguinetes campos:

cedula , nombre, apellido , cod_ubic.

ademas de tener una tabla de acceso con los siguientes campos:

cedula, horai, hraii, horaiii, horaiv, cod_ubic,fecha.

donde horai,horaii,horaiii,horaiv son las hora de entrada y salida en un dia,

yo quisiera obtener en un select todos los empleados que han marcado o registrado sus horas de entrada y salida y los que no para una fecha que esten adscritos a una ubicacion(cod_ubic)


yo estoy haciendo esto pero me trae solo los que aparece registrado en la tabla de acceso.

Código PHP:
SELECT a.cedula,a.nombre,a.apellido,b.hora_i,b.hora_ii,b.hora_iii,b.hora_iv
FROM acceso
.empleado a LEFT OUTER JOIN acceso.acceso b USING(cedula)
WHERE a.cod_ubic=124 AND b.fecha='2007-2-8' 
si me pudieran ayudar se los agradeceria......

Última edición por Fabian olmos; 09/02/2007 a las 07:24 Razón: me falto incuir un dato en mi consulta
  #2 (permalink)  
Antiguo 09/02/2007, 21:29
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 2 meses
Puntos: 7
Re: Select

Hola..

¿Qué otra forma has probado?

Una pista, OUTER es excluyente

Pendientes
__________________
Gracias de todas todas
-----
Linux!
  #3 (permalink)  
Antiguo 10/02/2007, 05:53
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 21 años, 9 meses
Puntos: 0
Re: Select

Esta es la forma que lo resolvi pero lo queria hacer mas optimo.
Código PHP:
(SELECT a.cedula,a.nombre,a.apellido,b.hora_i,b.hora_ii,b.hora_iii,b.hora_iv
              FROM acceso
.empleado a LEFT JOIN acceso.acceso b USING(cedula)
              
WHERE a.cod_ubic=$AND b.fecha=$AND a.estatus='A')
         
UNION
             
(SELECT a.cedula,a.nombre,a.apellido,(NULL) AS hora_i,(NULL) AS hora_ii,(NULL) AS hora_iii,(NULL) AS hora_iv
             FROM acceso
.empleado a 
             WHERE a
.cedula NOT IN(
                              
SELECT b.cedula
                              FROM acceso
.empleado b INNER JOIN acceso.acceso c USING(cedula)
                              
WHERE b.cod_ubic=$AND c.fecha=$2) AND a.cod_ubic=$1  AND a.estatus='A'
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 15:50.