SQL - Fecha Minima

 
Vista:

Fecha Minima

Publicado por Patricia Moreno (5 intervenciones) el 08/06/2010 18:39:53
Buenos dias a todos.

Tengo que hacer una consulta en SQL donde que me muestre la fecha minima de transaccion o la fecha de la primera transaccion, que seria lo mismo, para esto tengo un campo llamado FC_TRANSACCION que no tiene hora entonces debe salirme por lo menos la menor fecha, estoy utizando la siguiente consulta.

select a.nu_tarjeta,
MIN(to_char(a.FC_TRANSACCION,'YYYY-MM-DD HH24:MI:SS'))
from activacion_bodega a
join bin b
on (a.cd_bin=b.cd_bin)
where b.cd_dw_entidad in (14)
and a.cd_dw_mes_activacion = '200805'
and a.nu_tarjeta = '43****************'
group by
a.nu_tarjeta,
a.fc_transaccion

no me funciona por que me saca varias transaccion de diferentes fechas hechas por ese numero de tarjeta.

agradezco su ayuda...

bye.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:Fecha Minima

Publicado por Leonardo Josue (1173 intervenciones) el 08/06/2010 20:18:43
Buenas tardes Patricia...

Mira, creo que el problema es porque utilizas la función TO_CHAR dentro del la función MIN, intenta esto a ver si te funciona:

select a.nu_tarjeta,
to_char(MIN(a.FC_TRANSACCION),'YYYY-MM-DD HH24:MI:SS')
from activacion_bodega a
join bin b
on (a.cd_bin=b.cd_bin)
where b.cd_dw_entidad in (14)
and a.cd_dw_mes_activacion = '200805'
and a.nu_tarjeta = '43****************'
group by
a.nu_tarjeta,
a.fc_transaccion

Si el resultado con esta consulta no es el esperado te hago la misma recomendación que a muchos otros en este foro; poner algunos datos de ejemplo y qué esperarían de salida a partir de esos datos. También sería conveniente mencionar qué manejador de BD estás utilizando.

Saludos y espero tus comentarios.
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fecha Minima

Publicado por Patricia Moreno (5 intervenciones) el 08/06/2010 21:08:10
Hola Leonardo.

gracias por tu respuesta, pero no me genero los datos esperados.

te cuento lo que necesito es lo siguiente, un tarjetahabiente hace muchas transacciones en un mes necesito sacar de ese mes la primera transaccion que hizo o sea la minima.

cambie el to char de posicion y el MIN pero me sigue saliento lo mismo.

esto me sale:

NU_TARJETA TO_CHAR(MIN(A.FC_TR
------------------- -------------------
43******************* 2008-05-10 00:00:00
43******************* 2008-05-03 00:00:00
43******************* 2008-05-15 00:00:00
43******************* 2008-05-24 00:00:00
43******************* 2008-04-30 00:00:00
43******************* 2008-05-20 00:00:00

necesito que con la consulta me salga la primera transaccion osea este resultado:

NU_TARJETA TO_CHAR(MIN(A.FC_TR
------------------- -------------------
43******************* 2008-05-03 00:00:00

ayudame, como puedo hacer?

gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:Fecha Minima

Publicado por Leonardo Josue (1173 intervenciones) el 08/06/2010 23:28:33
Hola de nuevo Patricia:

Estuve analizando más a detalle tu consulta y creo que el problema está con la cláusula GROUP BY. Al agrupar por los campos nu_tarjeta y fc_transaccion entonces te genera grupos por cada fecha distinta... creo que por eso te muestra los resultados repetidos... puedes intentar lo siguiente:

select a.nu_tarjeta,
to_char(MIN(a.FC_TRANSACCION),'YYYY-MM-DD HH24:MI:SS') as fecha
from activacion_bodega a
join bin b on (a.cd_bin=b.cd_bin)
where b.cd_dw_entidad in (14)
and a.cd_dw_mes_activacion = '200805'
and a.nu_tarjeta = '43****************'
group by
a.nu_tarjeta

Es decir, el único cambio es eliminar el campo fc_transacción de la sección GROUP BY. esto debería ser suficiente para lo que necesitas

No mencionas qué manejador estás utilizando, pero por el tipo de sintaxis creo que se trata de ORACLE... así es que no deberías tener problemas para ejecutar la consulta

Saludos y espero tus comentarios
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fecha Minima

Publicado por Patricia Moreno (5 intervenciones) el 09/06/2010 19:14:09
Gracias Leonardo.

si me funciono, solo que cuando saco el numero de la tarjeta se me descuadra el resultado por el Group by que esta haciendo.

pero muchas gracias por tu ayuda.

bye.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar