** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y Otros sistemas
  Mensajes nuevos Mensajes nuevos RSS - Having con MAX(TIMESTAMP)
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Having con MAX(TIMESTAMP)

 Responder Responder
Autor
Mensaje
Gonzalo22 Ver desplegable
Nuevo
Nuevo


Unido: 16/Febrero/2017
Localización: valencia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Gonzalo22 Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Having con MAX(TIMESTAMP)
    Enviado: 17/Octubre/2018 a las 11:21
Muy buenas compañeros os comparto un caso que me está dando dolores de cabeza para tratar de encontrar ayuda:

Datos

Nombre Cantidad fecha
x 4 2018-05-04 
x 3 2018-05-04
x 2 2018-03-09
y 7 2017-12-14
z 8 2018-04-03
z 1 2018-04-03

Me gustaria crear una consulta por nombre, con la última fecha(Max) y con la suma de la cantida para esa última fecha

Resultado sería:

Nombre Cantidad fecha
x 7 2018-05-04 
y 7 2017-12-14
z 9 2018-04-03

El campo fecha es de tipo TIMESTAMP:.

muchas gracias y un saludo
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4702
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita emiliove Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 17/Octubre/2018 a las 16:01
hola Gonzalo

Lo que yo haría es hacer una cuenta por nombres y por fecha, en una consulta de totales, la cual me sume Cantidad y solo me muestre en criterio = 1 del campo cuenta, algo como:

SELECT Sum(Cantidad) AS SumaDeCantidad, fecha, Nombre, DCount("*","Datos","Nombre='" & [Nombre] & "'and fecha>" & CDbl([fecha]))+1 AS Cuenta

FROM Datos

GROUP BY fecha, Nombre, DCount("*","Datos","Nombre='" & [Nombre] & "'and fecha>" & CDbl([fecha]))+1

HAVING (((DCount("*","Datos","Nombre='" & [Nombre] & "'and fecha>" & CDbl([fecha]))+1)=1))

ORDER BY fecha DESC;


Suponiendo que tu tabla se llama Datos, y claro esto en access, si hablas de SQL Server te equivocaste y hay que poner el hilo en el foro adecuado, nos indicas para moverlo.


Saludos.




Editado por emiliove - 17/Octubre/2018 a las 16:12
Arriba
Gonzalo22 Ver desplegable
Nuevo
Nuevo


Unido: 16/Febrero/2017
Localización: valencia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Gonzalo22 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 17/Octubre/2018 a las 17:08
Muchas gracias por tu respuesta. Sí, estaba buscando algo más orientado a SQL.

Ahora intento buscar el fordo adecuado, o agradecería si lo puede mover tu mismo.

Un saludo y gracias
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 651
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 17/Octubre/2018 a las 18:17
Si entiendo lo que quieres hacer, otra posibilidad con 2 consultas:

- Consulta 1: agrupar por nombre y devolver la máxima fecha.
- Consulta 2: usar la consulta 1 y la tabla, relacionándolas por nombre y fecha. Luego agrupas por nombre y fecha, y sumas las cantidades.
Arriba
Gonzalo22 Ver desplegable
Nuevo
Nuevo


Unido: 16/Febrero/2017
Localización: valencia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Gonzalo22 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 18/Octubre/2018 a las 09:34
Muchas gracias por la sugerencia. Pensaba que existiria alguna clausula WHERE,HAVING o OVER que me permita hacerlo desde la consulta inicial
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 651
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 19/Octubre/2018 a las 19:43
Como hablas de TIMESTAMP, entiendo que no es Access 100%. Si es así, puedes preguntar en un foro del gestor de datos que estás usando, a ver si te dan alguna otra solución.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable