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

Duda con query

Estas en el tema de Duda con query en el foro de SQL Server en Foros del Web. Buenas tardes, tengo un problemita con esta sentencia, ella se ejecuta bien pero lo que necesito es solo obtener el costo_mercancia de la ultima fecha ...
  #1 (permalink)  
Antiguo 24/07/2009, 15:49
 
Fecha de Ingreso: febrero-2008
Mensajes: 12
Antigüedad: 16 años, 2 meses
Puntos: 0
Duda con query

Buenas tardes, tengo un problemita con esta sentencia, ella se ejecuta bien pero lo que necesito es solo obtener el costo_mercancia de la ultima fecha por bodega y por mes y no se como hacer esto ya que si uso top (1) me trae solo una bodega y un mes. Si alguien me puede ayudar se lo agradeceria inmensamente.

SELECT fecha, bodega, mes, referencia, costo_mercancia
FROM costo_mercancia
ORDER BY fecha DESC

1/31/2009 8:00:00 AM 001 200901 10003 499.00166
1/31/2009 8:00:00 AM 001 200901 10021 480.14893
1/31/2009 8:00:00 AM 001 200901 10021 480.14893
1/31/2009 8:00:00 AM 001 200901 10024 490.42114
1/31/2009 8:00:00 AM 001 200901 10030 711.75025
1/31/2009 8:00:00 AM 001 200901 10032 495.49971
1/31/2009 8:00:00 AM 001 200901 11321 716.63361
1/31/2009 8:00:00 AM 001 200901 11323 526.96030
1/31/2009 8:00:00 AM 001 200901 11327 653.15101
1/31/2009 8:00:00 AM 001 200901 11327 653.15101
  #2 (permalink)  
Antiguo 24/07/2009, 16:22
Avatar de ivans17  
Fecha de Ingreso: julio-2008
Mensajes: 8
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Duda con query

segun por lo que entiendo debes agregarle una condicion a tu SELECT:

primero te recomendaria que hagas una consulta para ver cual es la ultima fecha que tienes registrada y la guardes en una variable:

$SQL = "SELECT MAX(fecha) FROM costo_mercancia";
$Resultado = mysql_query($SQL);
$Fila = mysql_fetch_array($Resultado);
$max_fecha=$Fila[fecha];

y ahora selecciona solo lo que necesitas de esa fecha:

$SQL2= "SELECT costo_mercancia,bodega FROM costo_mercancia WHERE fecha=='$max_fecha'";
$SQL3= "SELECT costo_mercancia,mes FROM costo_mercancia WHERE fecha=='$max_fecha'";

espero que te ayude esto
  #3 (permalink)  
Antiguo 26/07/2009, 09:49
 
Fecha de Ingreso: febrero-2008
Mensajes: 12
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda con query

Muchas Gracias por la respuesta pero no es exactamente lo que necesito.

Lo que estoy buscando es un QUERY que me ayude a filtrar un registro unico por mes , bodega y referencia es decir que me seleccione el dato de la ultima fecha por cada mes bodega y referencia.


Espero que alguien mas me sugiera otra ayudita.
  #4 (permalink)  
Antiguo 26/07/2009, 10:12
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Duda con query

Código sql:
Ver original
  1. SELECT T1.fecha, T1.bodega, T1.mes, T1.referencia, T1.costo_mercancia
  2. FROM costo_mercancia T1
  3. INNER JOIN (
  4.   SELECT MAX(fecha) AS fecha_max, bodega, mes
  5.   FROM costo_mercancia
  6.   GROUP BY bodega, mes
  7. ) T2 ON T1.bodega=T2.bodega AND T1.mes=T2.mes AND T1.fecha=T2.fecha_max
  8. ORDER BY T1.fecha DESC
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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 05:50.