Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Select algo dificil

Estas en el tema de Select algo dificil en el foro de SQL Server en Foros del Web. Hola a todos. Disculpen en primer lugar si mi pregunta es algo sencilla pero es que de verdad no he podido hacer lo que quiero. ...
  #1 (permalink)  
Antiguo 12/06/2006, 10:24
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 2 meses
Puntos: 1
Select algo dificil

Hola a todos.
Disculpen en primer lugar si mi pregunta es algo sencilla pero es que de
verdad no he podido hacer lo que quiero.

Esta es la situación:
tengo una tabla en donde tengo los siguientes campos:
producto, almacen, fecha y precio.
En estas tablas pueden haber registros como los siguientes:

1 - 01 - 01/01/2006 - 1000
1 - 02 - 01/02/2006 - 2000
2 - 01 - 01/02/2006 - 1500
3 - 01 - 01/05/2006 - 5000
3 - 02 - 01/06/2006 - 5500
3 - 03 - 10/06/2006 - 6000

El orden de las columnas es producto, almacen, fecha y precio.
Lo que necesito hacer es obtener el precio que tiene cada producto de
acuerdo a su fecha más vieja, es decir, de acuerdo a lo que quiero el select
me debería devolver los siguientes registros:

1 - 01 - 01/01/2006 - 1000
2 - 01 - 01/02/2006 - 1500
3 - 01 - 01/05/2006 - 5000

Como ven ahí tendría el precio de cada producto para su fecha más vieja.
Esto es lo que no he podido hacer y creanme que he hecho de todo, he usado
subconsultas pero nada no he podido dar con la solución, espero que ustedes
me puedan ayudar.

Haciendo algo así obtendría la fecha más vieja pero y cómo obtengo su precio?
SELECT producto, MIN(fecha)
FROM tabla
GROUP BY producto

Estoy utilizando un GROUP BY por lo tanto no encuentro la manera de obtener
el precio para esa fecha.
Espero haberme explicado.

Saludos a todos y gracias por su tiempo.
  #2 (permalink)  
Antiguo 12/06/2006, 11:37
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Hola, espero que te sirva esta consulta :

Cita:
select producto,precio,fecha
from tabla p1
where fecha=(select min(fecha) from tabla p2
where p2.codpro=p1.codpro)
Le puedes agregar el orden que desees al final.
Espero que sea lo que quieras.
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:17.