Ayuda

31/07/2004 - 23:33 por Cesar Ochica | Informe spam
Problema:
me dan un numero de documento yo debo sacar los ID de los articulos que
estan en ese documento y devolver las ultimas 5 compras de cada articulo.

He tratado de plantear lo siguiente pero no me funciona:

1.hago una funcion que recibe el id del producto hase un select top 7 y
retorna una tabla
2. ya teniendo en mente lo anterior coloco lo que creo seria el codigo:

SELECT * FROM FUNCIONTOP5(SELECT ID_PRODUCTO FROM COMPRAS WHERE DOCp49)

Como es logico no me funciona

Como puedo solucionar mi problema.

Gracias

Preguntas similare

Leer las respuestas

#1 Pablo Fabian Savino
01/08/2004 - 11:34 | Informe spam
Hola Cesar, te mande 2 mails con la funcion y el query, yo lo probe y me
anda perfecto, no te llegaron los mails?

"Cesar Ochica" wrote in message
news:
Problema:
me dan un numero de documento yo debo sacar los ID de los articulos que
estan en ese documento y devolver las ultimas 5 compras de cada articulo.

He tratado de plantear lo siguiente pero no me funciona:

1.hago una funcion que recibe el id del producto hase un select top 7 y
retorna una tabla
2. ya teniendo en mente lo anterior coloco lo que creo seria el codigo:

SELECT * FROM FUNCIONTOP5(SELECT ID_PRODUCTO FROM COMPRAS WHERE DOCp49)

Como es logico no me funciona

Como puedo solucionar mi problema.

Gracias



Respuesta Responder a este mensaje
#2 Cesar Ochica
02/08/2004 - 18:57 | Informe spam
Perdon por no responder he estado un poco asuente de la ofiina , reviso y te
cuento, muchas gracias.
Respuesta Responder a este mensaje
#3 Cesar Ochica
02/08/2004 - 21:48 | Informe spam
Ok, ya revise el ejemplo que me enviaste al email, y creo que no me di a
entender, el punto es el siguiente:

El store debe recibir un numero de documento, luego en el store se debe
sacar los id de los productos que esten en ese documento y por ultimo debe
retornar los 5 ultimos movimientos de cada producto.


Gracias
Respuesta Responder a este mensaje
#4 Javier Loria
03/08/2004 - 02:45 | Informe spam
Hola Cesar:
Podrias probar este mecanismo. Pero no estoy seguro del desempeno. :(
Si la siguiente Consulta te da las ultimas 5 compras de cada articulo:
==-- Opcion Crearlo como Vista
CREATE VIEW Ultimas5Compras
AS
SELECT C1.ArticuloID
, C1.Fecha
FROM Compras AS C1
JOIN Compras AS C2
ON C1.Fecha<Â.Fecha
GROUP BY
C1.ArticuloID
, C1.Fecha
HAVING COUNT(C2.*)<=5
Entonces podrias hacer un JOIN entre esta consulta (vista?) y las compras:
SELECT -- Columnas Deseadas
FROM Compras
JOIN Ultimas5Compras
ON Compras.ArticuloID=Ultimas5Compras.ArticuloID
AND Compras.Fecha=Ultimas5Compras.Fecha
WHERE Doc=@Doc
Este SELECT asume que Articulo/Fecha son llave Primaria o Llave
Candidata (Unicas y No Nullas) en la Tabla de Compras. Si esto no es asi
debe hacer un enredo horrible :D
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Cesar Ochica escribio:
Problema:
me dan un numero de documento yo debo sacar los ID de los articulos
que estan en ese documento y devolver las ultimas 5 compras de cada
articulo.

He tratado de plantear lo siguiente pero no me funciona:

1.hago una funcion que recibe el id del producto hase un select top 7
y retorna una tabla
2. ya teniendo en mente lo anterior coloco lo que creo seria el
codigo:

SELECT * FROM FUNCIONTOP5(SELECT ID_PRODUCTO FROM COMPRAS WHERE
DOCp49)

Como es logico no me funciona

Como puedo solucionar mi problema.

Gracias
Respuesta Responder a este mensaje
#5 Cesar Ochica
03/08/2004 - 18:48 | Informe spam
Gracias Javier, muy oportuna tu respuesta, lo voy a ensayar y te cuento
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida