Estoy baradoooo

Buenas...
Necesito la siguiente ayuda YA NO DOY MÁS LLEVO 2 DÍAS VOLTEANDO CON ESTO::
Estoy generando una consulta que me arroja los siguientes datos:
consulta1:
CEDULA ASESORA FECHACITA
009.000.004 Adriana Guerrero 15/07/2000
009.000.004 Angela Ma. Insuasty 15/05/2000
009.000.004 Lizbeth Pinzón 15/03/2000
009.000.004 Mónica Gómez 15/01/2000
009.000.004 Derly Pinzon 15/11/1999
009.000.005 (CB) Maria E. Montealegre 16/07/2000
009.000.005 (CZ) Liliana Bahamon 16/05/2000
009.000.005 (CT) Maria V. Quintero 16/03/2000
009.000.005 Sandra Palacios 16/01/2000
009.000.005 Angela Ma. Insuasty 16/11/1999
Y necesito extraer de esa consulta las cedulas con la respectiva Asesora que posean las fechas más grandes (máximas), es decir:
consulta2:
CEDULA ASESORA FECHACITAMAXIMA
009.000.004 Adriana Guerrero 15/07/2000
009.000.005 (CB) Maria E. Montealegre 16/07/2000
NOTA TRABAJO EN ACCES97:
que está ocurriendo : le estoy dando el siguiente SQL:
SELECT CONSULTA1.CEDULAPERSONALES, CONSULTA1.ASESORA, CONSULTA1.FECHACITAMAXIMA
FROM CONSULTA1
WHERE (((CONSULTA1.FECHACITAMAXIMA)=(select Max([fechacitamaxima]) from CONSULTA1)))
GROUP BY CONSULTA1.CEDULAPERSONALES, CONSULTA1.ASESORA, CONSULTA1.FECHACITAMAXIMA
ORDER BY CONSULTA1.FECHACITAMAXIMA DESC;
Y me da como resultado solo:
consulta2
CEDULA ASESORA FECHACITAMAXIMA
009.000.005 (CB) Maria E. Montealegre 16/07/2000
y no me aparece el otro:
009.000.004 Adriana Guerrero 15/07/2000
No se que hacer, ya que debe quedar gneralizado porque CONSULTA1 puede contener n-ésimas cédulas:
009.000.004
009.000.004
009.000.004
009.000.005
009.000.005
009.000.005
009.000.005
009.000.040
009.000.040
009.000.080
009.000.080
009.000.080
009.000.080
009.000.080
*
*
*
*
Etc
Y consulta2 me debe mostrar todas las cédulas que tengan la máxima fecha de cita:
009.000.004 ASESORA FECHAMAX
009.000.005 ASESORA FECHAMAX
009.000.040 ASESORA FECHAMAX
009.000.080 ASESORA FECHAMAX
Gracias...
Fernando arana.
También me puedes escribir a:
[email protected]
¿Me podrías dar tu correo para un contacto más directo?
Gracias.

2 Respuestas

Respuesta
1
Me parece que he entendido lo que quieres, pero me parece que tu consulta no lo va a hacer. Porque tu le pides que te saque solo la de fechacitamaxima máxima. Deberías buscar la fecha máxima solo entre las que cumplan que su cedula sea la misma. Prueba esto a ver:
SELECT CONSULTA1.CEDULAPERSONALES, CONSULTA1.ASESORA, CONSULTA1.FECHACITAMAXIMA
FROM CONSULTA1 c1
WHERE CONSULTA1.FECHACITAMAXIMA = (
select Max([fechacitamaxima]) from CONSULTA1 c2 where c1.cedulaspersonales = c2.cedulaspersonales
)
GROUP BY CONSULTA1.CEDULAPERSONALES, CONSULTA1.ASESORA, CONSULTA1.FECHACITAMAXIMA
ORDER BY CONSULTA1.FECHACITAMAXIMA DESC;
Esto busca la fecha máxima, pero solo dentro de las cedulas con el mismo numero.
paufr... vos sos la verraquera... sirvió a la perfección... el access no me acepto c2, y al final quedó:
SELECT c1.CEDULAPERSONALES, c1.ASESORA, c1.FECHACITAMAXIMA
FROM CONSULTA1 AS c1, CONSULTA1
WHERE (((c1.FECHACITAMAXIMA)=(select Max([fechacitamaxima]) from CONSULTA1 where c1.CEDULAPERSONALES = CONSULTA1.CEDULAPERSONALES
)))
GROUP BY c1.CEDULAPERSONALES, c1.ASESORA, c1.FECHACITAMAXIMA
ORDER BY c1.CEDULAPERSONALES, c1.FECHACITAMAXIMA DESC;
Viejo no sabe lo agradecido que estoy si se pudiera te valoraba con 1 millón de estrellas.
¿Oye a vos te gusta el café colombiano?.. si querés te envió por correo (aéreo... tal vez en un futuro vía e-mail jajaja) un paquete con bastante café colombiano legítimo en muestra de mi agradecimiento.
No sé que más decir.. no quiero parecer cursi.. jajaja
Atentamente:
Fernando arana.
pd: ¿Te puedo seguir molestando?...
Respuesta
-1
La verdad que te veo muy metido en tu problema, y lo expresas como si yo ya supiese de que va tu aplicación, pero no me ha quedado muy clara tu explicación. Si lo que quieres es agrupar y obtener el máximo, pero solo para las filas que cumplan determinadas condiciones, debes utilizar la clausula HAVING y no la clausula WHERE.
Un saludo
Salvador Ramos
www.helpdna.net

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas