No lo consegui

21/05/2004 - 02:01 por Cesar Ochica | Informe spam
Pido disculpas por abrir este nuevo hilo.
Pero me urge solucionar este dilema, para quienes aun no saben de que hablo,
quiero hacer un store que reciba un numero de factura y que haga una
consulta para saber que productos movio,(eso es lo primero y consudero yo
seria la subconsulta), la consulta principal deveria traerme los ultimos 5
movimientos de los productos que devuelve la sub consulta.

Ensaye con algo como lo siguiente y no me funciona

select NombreProducto,IDProducto
from Movimientos P
where IDProducto in
(
select top 5 IDProducto from Movimientos where IDProducto P.IDProducto and Documneto@49 order by Producto desc
)
order by mm04_nro


Gracias
 

Leer las respuestas

#1 ulises
21/05/2004 - 02:16 | Informe spam
En primer lugar tendrías que preguntarte ¿como identificas
a los primeros 5 movimientos de un producto determinado?,
¿cual es la columna que te sirve para ordenar?, si tu
columna para ordenar es "columnaordena", entonces tu
consulta para obtener los cinco primeros movimientos de un
producto Y es:

SELECT TOP 5 columnaordena
FROM Movimientos
WHERE IDProducto = Y
ORDER BY columnaordena DESC

luego de eso podrías usarla como una subconsulta para
obtener lo mismo para todos los productos :

SELECT *
FROM Movimientos P
WHERE columnaordena IN
(
SELECT TOP 5 columnaordena
FROM Movimientos
WHERE IDProducto = P.IDProducto
ORDER BY columnaordena DESC
)

si decides que sean los primeros 5 pero solo considerando
un tipo de documento en particular podrias hacer :

SELECT *
FROM Movimientos P
WHERE columnaordena IN
(
SELECT TOP 5 columnaordena
FROM Movimientos
WHERE IDProducto = P.IDProducto AND documento = xxxx
ORDER BY columnaordena
)

Saludos,
Ulises

Pido disculpas por abrir este nuevo hilo.
Pero me urge solucionar este dilema, para quienes aun no


saben de que hablo,
quiero hacer un store que reciba un numero de factura y


que haga una
consulta para saber que productos movio,(eso es lo


primero y consudero yo
seria la subconsulta), la consulta principal deveria


traerme los ultimos 5
movimientos de los productos que devuelve la sub consulta.

Ensaye con algo como lo siguiente y no me funciona

select NombreProducto,IDProducto
from Movimientos P
where IDProducto in
(
select top 5 IDProducto from Movimientos where IDProducto
P.IDProducto and order by Producto desc
)
order by mm04_nro


Gracias


.

Preguntas similares