Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2007
guille85 guille85 is offline
Registrado
 
Registrado: sep 2006
Posts: 9
Poder: 0
guille85 Va por buen camino
Funcion Ultima fecha

Tengo un problemilla con una consulta de Movimientos de Articulos i fechas!
Estoy trabajando con access.

Me gustaria saber si existe alguna funcion para averiguar, en mi caso, de los diferentes movimientos que puede tener un articulo, la ultima fecha que hubo en ese articulo!

SIno recuerdo mal en Oracle existia alguna opcion de estas pero en Access no tengo nidea

por ejemplo : Esto podria ser la tabla de movimientos

Articulo | Cantidad | Fecha |
--------------------------------------------------
11000 | 2.500 | 11/05/2007 |
11000 | 3.000 | 16/07/2007 |
13000 | 10.500 | 13/04/2007 |
13000 | 13.000 | 15/06/2007 |


La Consulta deberia quedar de la siguiente forma

11000 | 3000 | 16/07/2007
13000 | 13.000 | 15/06/2007
Responder Con Cita
  #2  
Antiguo 05-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Puedes utilizar la funcion Max(Fecha).

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 05-11-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Puedes utilizar la funcion Max(Fecha).
Como bien dice el amigo marcos.

Código SQL [-]
 
Select Original.Articulo, Original.Fecha, Original.Cantidad
  From Tabla as Original
Inner join (
                   Select Articulo, Max(Fecha) As FecMAx
                     From Tabla
                Group By Articulo
             ) as Filtro
       On Original.Articulo = Filtro.Articulo And
            Original.Fecha  = Filtro.FecMax

suerte
__________________
Conoce mi blog http://www.edgartec.com

Última edición por poliburro fecha: 05-11-2007 a las 16:19:41. Razón: error en sintaxis
Responder Con Cita
  #4  
Antiguo 05-11-2007
guille85 guille85 is offline
Registrado
 
Registrado: sep 2006
Posts: 9
Poder: 0
guille85 Va por buen camino
Gracias gente voy a provar!

Responder Con Cita
  #5  
Antiguo 05-11-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código SQL [-]
Select Articulo, Max(Fecha)
from Tabla
group by Articulo

mi buen poliburro, no entendí porque hacer una subconsulta...
__________________

Responder Con Cita
  #6  
Antiguo 05-11-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
Código SQL [-]
Select Articulo, Max(Fecha)
from Tabla
group by Articulo





mi buen poliburro, no entendí porque hacer una subconsulta...
Por que además del artículo y la última fecha, necesita la cantidad.

:P
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #7  
Antiguo 05-11-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Lo sospeche desde un principio...
__________________

Responder Con Cita
  #8  
Antiguo 05-11-2007
guille85 guille85 is offline
Registrado
 
Registrado: sep 2006
Posts: 9
Poder: 0
guille85 Va por buen camino
agrrrrr me estoy volviendo loco!

Si solo indico el campo codigo y fecha,Me muestra todos los articulos como queria.

Al poner mas campos me obliga a hacer la subconsulta , es ahi cuando nose por donde cojer lo de la fecha ni como indicarlo ni na!

E provao tu opcion Poliburro, pero no entiendo muy bien la Inner join que as echo!
Responder Con Cita
  #9  
Antiguo 05-11-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por guille85 Ver Mensaje
E provao tu opcion Poliburro, pero no entiendo muy bien la Inner join que as echo!
ok te explico,

La subconculta devuelve un recordset que contiene los artículos con su última fecha, este recordset muestra para cada único artículo la última fecha ( Max(Fecha) ).

Como bien mencionas si en esta subconsulta agregara el campo Cantidad, este debería ser incluido en el group by, pero dada esta condición me mostraría para cada combinación única de artículo y cantidad la úlñtima fecha, provocando que devolviera más de un registro por artículo único. Por ello la subconsulta solo agrupa por artículo y devuelve el max de la fecha.

una vez generado este recorset me hace falta el dato de cantidad para cada registro, entonces lo que hago es que a la tabla le aplico un inner join, con la subsconsulta a fin de que me devuelva unicamente los campos coincidentes.
por eso es que en el on se igualan fecha y artículo.

Al obtener el producto de ambas tablas por unicamente sus coincidencias, puedo ya entonces mostrar Artículo, ultima fecha y cantidad.


Suerte
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #10  
Antiguo 05-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código SQL [-]
Select Articulo, Max(Fecha), Sum(Cantidad)
from Tabla
group by Articulo
o


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #11  
Antiguo 05-11-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
El detalle es que no se busca la suma de todos, solamente la cantidad de la última fecha.
__________________

Responder Con Cita
  #12  
Antiguo 05-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues ese detalle se me había escapado, tienes razón.

Yo en estos casos, sino tengo tiempo de enredarme en subconsultas que no todos los motores aceptan, los datos obtenidos de la consulta los inserto en una tabla temporal y luego lanzo un SQL simple sobre está tabla.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #13  
Antiguo 05-11-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje

Yo en estos casos, sino tengo tiempo de enredarme en subconsultas que no todos los motores aceptan, los datos obtenidos de la consulta los inserto en una tabla temporal y luego lanzo un SQL simple sobre está tabla.

Un Saludo.
Tienes razón amigo marcos, solo que en este caso el motor en específico es access, y la consulta como la he formulado está optimizada para este motor en específico.

Saludos cordiales :d
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #14  
Antiguo 07-11-2007
guille85 guille85 is offline
Registrado
 
Registrado: sep 2006
Posts: 9
Poder: 0
guille85 Va por buen camino
Al final consigue sacar lo que queria!!

Muchisimas Gracias
Responder Con Cita
  #15  
Antiguo 07-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Hombre sería conveniente mostrar el código que finalmente has utilizado como colofón a este hilo.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #16  
Antiguo 07-11-2007
guille85 guille85 is offline
Registrado
 
Registrado: sep 2006
Posts: 9
Poder: 0
guille85 Va por buen camino
lo siento llebaba todo el dia un poco liao!
Al final me vais a matar porque saque la consulta con otros datos! Os cuento, mi intencion era a partir de una tabla que hay de movimientos cojer todos los Productos con la ultima fecha y su respectivo precio, mi sorpresa ha sido el encontrar un tabla de tarifas la cual me facilito mucho la faena, porque sinceramente no consegui sacar-la como en un principio queria

Al final lo del Max(fecha) con la opcion de poliburro (pero un poco con mi lio mental) llego a salir pero con algunos articulos repetidos con fechas diferentes, total que aun no se muy bien como funcionan las subconsultas,

La cosa ha quedao asi

Código SQL [-]
SELECT DISTINCTROW TarifaPrecio.CodigoArticulo, Articulos.DescripcionArticulo, TarifaPrecio.Precio1,Tarifas.DescripcionTarifa
FROM (Articulos RIGHT JOIN TarifaPrecio ON Articulos.CodigoArticulo = TarifaPrecio.CodigoArticulo) 
LEFT JOIN Tarifas ON TarifaPrecio.Tarifa = Tarifas.Tarifa 
WHERE ( [TarifaPrecio].[Tarifa] = 24 AND  [TarifaPrecio].[FechaInicio] BETWEEN #01/01/2002# AND #12/31/3000# AND  
[TarifaPrecio].[StatusActivo] = -1)  ORDER BY [TarifaPrecio].[CodigoArticulo],
[TarifaPrecio].[Tarifa],[TarifaPrecio].[FechaInicio],[TarifaPrecio].[StatusActivo]


Perdonad las molestias!! y gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
consultar ultima fecha y ultima hora KeyMan MySQL 3 07-02-2007 16:50:25
Fecha última visita usuario sitio Web dec PHP 6 18-07-2006 09:49:57
Que funcion trunca una fecha JavierO Varios 4 12-10-2005 19:47:55
como Leer la fecha de " última Modificación " de un archivo. JuanErasmo C++ Builder 2 07-10-2005 18:28:19
Función de fecha actual en SQL mutant09 SQL 1 18-05-2004 09:51:22


La franja horaria es GMT +2. Ahora son las 01:03:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi