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

Fecha maxima en query y otro valor en una tabla

Estas en el tema de Fecha maxima en query y otro valor en una tabla en el foro de Mysql en Foros del Web. Hola, espero puedan ayudarme con esto que me parte la cabeza, tengo una tabla 'stock': Código: cod_stock cod_prod cantidad_stock fecha_stock 01 prod1 20 11/10/06 02 ...
  #1 (permalink)  
Antiguo 21/12/2006, 14:19
 
Fecha de Ingreso: abril-2005
Ubicación: Lima-Peru
Mensajes: 313
Antigüedad: 19 años
Puntos: 1
Fecha maxima en query y otro valor en una tabla

Hola, espero puedan ayudarme con esto que me parte la cabeza, tengo una tabla 'stock':

Código:
cod_stock cod_prod  cantidad_stock   fecha_stock   
01	  prod1		 20		      11/10/06
02	  prod1		 10		      12/10/06
03	  prod1		 5		       14/10/06
04	  prod2		 15		      16/10/06
simple no?, lo que quiero es seleccionar el producto con codigo 'prod1', pero que sea el mas reciente ademas con su cantidad

intente con:
Código:
select cod_stock, MAX(fecha_stock),cod_prod, cantidad_stock 
from stock
where cod_prod='prod1' 
group by cod_prod
pero me devuelve 20(para este ejemplo) porque al poner max en fecha me agrupa todo y agarra cambien el mayor stock

probe con subconsultas:
Código:
select MAX(fecha_stock),cod_prod, cantidad from 
(select cod_stock,cantidad_stock, cod_prod,fecha_stock FROM stock 
where cod_prod='prod1') as miselect
group by cod_prod
pero me sale un resultado similar, alguien puede indicarme que estoy haciendo mal porfa..

PD:la base de datos es mysql, pero creo que la logica de la consulta es lo que vale
  #2 (permalink)  
Antiguo 21/12/2006, 16:20
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Re: Fecha maxima en query y otro valor en una tabla

Que tal Max.

Una solución puede ser:

select cod_prod, cantidad , fecha_stock
from stock
where cod_prod='prod1'
AND fecha_stock = ( SELECT MAX (fecha_stock) from stock where cod_prod='prod1' )


Saludos y suerte!
  #3 (permalink)  
Antiguo 21/12/2006, 23:38
 
Fecha de Ingreso: abril-2005
Ubicación: Lima-Peru
Mensajes: 313
Antigüedad: 19 años
Puntos: 1
Re: Fecha maxima en query y otro valor en una tabla

daniel00, te estoy muy agradecido, tu query funciona perfectamente, viendolo ahora (como siempre pasa) pienso, como no se me ocurrió!, gracias nuevamente
  #4 (permalink)  
Antiguo 22/12/2006, 09:29
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Fecha maxima en query y otro valor en una tabla

Movido a la sección que dice MysQL.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 23/12/2006, 11:39
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Fecha maxima en query y otro valor en una tabla

Yo croe que es más sencillo aun si usas HAVING así:

Código:
select cod_stock,
 MAX(fecha_stock),
cod_prod, 
cantidad_stock 
from stock
where cod_prod='prod1' 
group by cod_prod 
HAVING 
fecha_stock = MAX(fecha_stock)
Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #6 (permalink)  
Antiguo 23/12/2006, 13:14
 
Fecha de Ingreso: abril-2005
Ubicación: Lima-Peru
Mensajes: 313
Antigüedad: 19 años
Puntos: 1
Re: Fecha maxima en query y otro valor en una tabla

Hola "Lord of freaks"(bonito nick ), me entró la curiosidad de que funcione la consulta con HAVING pero me sale un error 'columna desconocida para fecha_stock"
uhmmm, le puse un alias al MAX pero no bota ninguna fila, intenté probando con otras alternativas entre otras:
Código:
select cod_stock,
cod_prod, 
cantidad,fecha_stock 
from stock
where cod_producto='prod1'
HAVING 
fecha_stock=MAX(fecha_stock)
Pero no obtengo nada
Seria interesante que se pudiera obtener el mismo resultado con otra alternativa en vez de subconsultas
  #7 (permalink)  
Antiguo 30/12/2006, 08:01
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Fecha maxima en query y otro valor en una tabla

Es dificil que funcione HAVING si no pones GROUP BY antes, ya que HAVING es un "WHERE" para agrupaciones de registros, es decir filtra los registros una vez agrupados.

En tu caso agrupamos los registros cuyo campo 'cod_prod' sea idéntico (GROUP BY cod_prod) y dentro de cada uno de esos grupos elegimos gracias a HAVING aquellos cuyo valor campo 'fecha_stock' sea igual al valor máximo de 'fecha_stock' dentro de cada uno de los grupos (HAVING
fecha_stock=MAX(fecha_stock)).

Espero haberme explicado.

Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
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 13:30.