Saludos amigos!
A ver si alguien me da una mano con esta consulta:
Tengo una tabla con 3 campos:
TARJETA (VARCHAR(20))
STATUS (VARCHAR(20))
FECHA_ENT (DATETIME)
Necesito hacer una consulta que me arroje el registro mas reciente con
respecto al campo fecha
por cada tarjeta que encuentre en un rango de fechas
si hago esto:
SELECT distinct tarjeta, fecha_ent, status
FROM MOVIMIENTOS WHERE FECHA_ENT >= '2009-05-13' AND FECHA_ENT <=
'2009-05-20'
GROUP BY tarjeta,fecha_ent,status ORDER BY tarjeta,fecha_ent
despliega:
tarjeta fecha_ent status
-
36021801234567 2009-05-19 ACTIVACIONES
36021801234567 2009-05-15 ARRIBO
36021801234567 2009-05-15 ENVIO
pero lo que quiero es que solo salga el primer registro
si cambio el GROUP BY por: GROUP BY tarjeta
sale mensaje de error:
Mens. 8120, Nivel 16, Estado 1, Línea 2
Column 'MOVIMIENTOS.FECHA_ENT' is invalid in the select list because it is
not contained in either an aggregate function or the GROUP BY clause.
me pide que agregue al GROUP BY todos los campos que selecciono.
Agradezco su ayuda
Salu2
Mario
Leer las respuestas