Opinion con una consulta

18/04/2006 - 19:34 por Abraham | Informe spam
Tengo el sgte escenario

una tabla llamada Kardex

Consecutivo_Kardex Codigo_Producto Existencia
34 001 95
35 002 90
36 001 94
37 002 98

Requiero seleccionar el ultimo registro ingresado de un producto (para el
ejemplo el producto 001)

El resultado de la consulta deberia ser

36 001 94

El campo Consecutivo_Kardex es autonumerico por lo tanto utilizo este para
saber cual es el ultimo registro insertado

he creado la siguiente consulta

SELECT Consecutivo_Kardex, Codigo_Producto, Existencia
FROM Kardex
WHERE Consecutivo_Kardex IN (SELECT MAX(Consecutivo_Kardex) FROM Kardex
WHERE Codigo_Producto ='001')

Segun su criterio esta consulta es recomenda?
pregunto esto ya que estoy haciendo dos consulta sobre una tabla
relativamente grande (mas de 500,000 registros)

Conocen alguna forma mas eficiente de hacerlo?

Gracias por las sugerencias que puedan darme.


Abraham
 

Leer las respuestas

#1 SYoung
18/04/2006 - 22:28 | Informe spam
Me parece que esta bien siempre y cuando tengas el Consecutivo_Kardex como un
PRIMARY KEY NONCLUSTERED y las tres columnas como un CLUSTERED index.

"Abraham" escribió:

Tengo el sgte escenario

una tabla llamada Kardex

Consecutivo_Kardex Codigo_Producto Existencia
34 001 95
35 002 90
36 001 94
37 002 98

Requiero seleccionar el ultimo registro ingresado de un producto (para el
ejemplo el producto 001)

El resultado de la consulta deberia ser

36 001 94

El campo Consecutivo_Kardex es autonumerico por lo tanto utilizo este para
saber cual es el ultimo registro insertado

he creado la siguiente consulta

SELECT Consecutivo_Kardex, Codigo_Producto, Existencia
FROM Kardex
WHERE Consecutivo_Kardex IN (SELECT MAX(Consecutivo_Kardex) FROM Kardex
WHERE Codigo_Producto ='001')

Segun su criterio esta consulta es recomenda?
pregunto esto ya que estoy haciendo dos consulta sobre una tabla
relativamente grande (mas de 500,000 registros)

Conocen alguna forma mas eficiente de hacerlo?

Gracias por las sugerencias que puedan darme.


Abraham







Preguntas similares