Consulta rara

ss007
07 de Diciembre del 2007
Tengo dos tablas: Empleados y Cronos relacionadas por numero de tarjeta.

La tabla cronos tiene un campo llamado Comando cuya datos pueden variar de 11 a 21, donde 11 es entrada y 21 es salida. Para ambos casos tengo que usar MIN y MAX ya que en un mismo dia tengo varias entradas y salidas pero solo me sirve la primera entrada y la ultima salida.

Tabla Personal con los campos:
Tarjeta Apellido
3 Perez
4 Gonzalez

Tabla Cronos
Comando Tarjeta Fecha Hora
11 3 2007/12/01 09:00:00
21 3 2007/12/01 12:30:00
11 3 2007/12/01 14:00:00
21 3 2007/12/01 18:00:00

Como veran en un mismo dia tiene varias entradas y salidas.
Mediante una consulta logro agrupar por fecha y que me arroje la hora minima y en otra consulta la hora maxima.

SELECT cronos.Tarjeta, personal.Apellido, cronos.Fecha, MIN(cronos.hora)
FROM personal INNER JOIN cronos ON personal.tarjeta = cronos.Tarjeta
WHERE cronos.Comando=11
GROUP BY cronos.Tarjeta,cronos.Fecha
ORDER BY cronos.Tarjeta, cronos.fecha

Pero lo que necesito es me me muestre lo siguiente:

[codigo]Tarjeta Nombre Fecha Hora Entrada Hora Salida
3 Perez 2007/12/01 09:00:00 18:00:00 [/codigo]

Espero que puedan ayudarme... o al menos decirme si es posible
Gracias

Gonzalo
07 de Diciembre del 2007
No resulta demasiado difícil: Tienes que hacer en realidad dos INNER JOIN (aunque yo supongo que funcionaría con uno sólo) de este tipo:
SELECT TARJETA, NOMBRE, FECHA, INGRESO as 'HORA ENTRADA', EGRESO as 'HORA SALIDA' FROM (SELECT TARJETA, FECHA, MAX(A.FECHAHORA) as EGRESO, MIN(B.FECHAHORA) as INGRESO FROM CRONOS as A INNER JOIN CRONOS as B USING(TARJETA,FECHA) GROUP BY TARJETA) as C INNER JOIN PERSONAL USING (TARJETA);

Yo supongo que una simple:
SELECT TARJETA, NOMBRE, FECHA, MIN(A.HORA) as 'HORA ENTRADA', MAX(A.HORA) as 'HORA SALIDA' FORM CRONOS as A INNER JOIN PERSONAL USING(TARJETA,FECHA) GROUP BY TARJETA;
debería funcionar. Al menos lo he visto funcionar.