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

Ultimo registro

Estas en el tema de Ultimo registro en el foro de SQL Server en Foros del Web. Hola amogos tengo una duda en una consulta quisiera que me ayudaran, tengo una tabla con varios articulos cada articulo tiene un precio de compra ...
  #1 (permalink)  
Antiguo 12/07/2014, 11:12
 
Fecha de Ingreso: abril-2014
Ubicación: Bogota
Mensajes: 14
Antigüedad: 10 años
Puntos: 0
Ultimo registro

Hola amogos tengo una duda en una consulta quisiera que me ayudaran, tengo una tabla con varios articulos cada articulo tiene un precio de compra el precio de compra varia depende la fecha de compra, lo que yo quiero es que me muestre el articulo y el precio de la ultima fecha de compra si lo hago con este codigo :

Código SQL:
Ver original
  1. SELECT DISTINCT ItemCode, MAX(ShipDate)AS fecha FROM POR1
  2. GROUP BY ItemCode
  3. ORDER BY ItemCode

lo hace me muestra cada uno de los articulos y su ultima fecha de compra sin repetirme ningun articulo, pero si ha esta consulta le agrego el precio para que tambien me muestre el precio de la ultima compra hay es cuando cambia todo ya que empieza a repetirme articulos no se si es por q los precios son diferentes lo hize de esta manera:

Código SQL:
Ver original
  1. SELECT DISTINCT ItemCode, MAX(ShipDate),Price FROM POR1
  2. GROUP BY ItemCode, Price
  3. ORDER BY ItemCode

y nada, tambien he intentado esto:
Código SQL:
Ver original
  1. SELECT T1.ItemCode, T2.FECHA, T1.Price FROM POR1 AS T1 INNER JOIN( SELECT ItemCode, Price,
  2. MAX(ShipDate) AS FECHA FROM POR1 GROUP BY ItemCode, Price) T2
  3. ON T1.ItemCode=T2.ItemCode AND T1.ShipDate=T2.FECHA
  4. ORDER BY ItemCode

aunque esta consulta no me repite tantas veces los articulos como la consulta anterior pero igual los repite algunos 2 y algunos 4 veces, espero me halla hecho entender, los datos son todos de una tabla, tabla POR1 campos ItemCode(nvarchar 16), ShipDate (datetime), Price (numeric 19,6)

espero haberme echo entender y que me puedan ayudar con mi consulta.

Mil gracias

Última edición por gnzsoloyo; 12/07/2014 a las 11:25
  #2 (permalink)  
Antiguo 13/07/2014, 00:05
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Ultimo registro

Intentá así:
Código SQL:
Ver original
  1. WITH T AS
  2. (SELECT ROW_NUMBER() OVER(Partition BY ItemCode ORDER BY ShipDate DESC) N,
  3.     *
  4. FROM    POR1)
  5. SELECT  *
  6. FROM    T
  7. WHERE   N=1;
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Etiquetas: campo, registro, select, tabla, ultimo
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 17:51.