Filtrar Datos (Complejo) Urgenteeeee!!!
Publicado por Pablo (1 intervención) el 04/09/2007 18:23:25
Hola,
por favor estoy necesitando ayuda con una consulta, lo que necesito es poder ver las ultimas dos o x compras realizadas en rango de tiempo por articulo, la consulta que realicé lo que hace es traerme todas las compras por articulo, pero yo solo quiero ver 2 o x ultimas compras por articulo.
ejemplo :
coca cola $2 01/01/2007 } solo quiero ver estas dos
coca cola $3 25/01/2007 }
coca cola $3 01/02/2007
coca cola $5 01/03/2007
cepillo dental $2 01/01/2007 } solo quiero ver estas dos
cepillo dental $3 25/01/2007 }
cepillo dental $3 01/02/2007
cepillo dental $5 01/03/2007
vaso liso $2 01/01/2007 } solo quiero ver estas dos
vaso liso $3 25/01/2007 }
vaso liso $3 01/02/2007
vaso liso $5 01/03/2007
la consulta que yo realicé me trae todas las compras.... me han dicho de usar la funcion RANK. utilizo SQL SERVER 2000
Les dejo la consulta por favor ayudenme!!!!!!
SELECT dbo.PURC_ORDER_LINE.PART_ID, dbo.PART.DESCRIPTION, dbo.RECEIVER_LINE.PURC_ORDER_ID,
dbo.PURCHASE_ORDER.LAST_RECEIVED_DATE, dbo.RECEIVER_LINE.RECEIVED_QTY, dbo.PURC_ORDER_LINE.UNIT_PRICE,
dbo.PURCHASE_ORDER.VENDOR_ID, dbo.VENDOR.NAME
FROM dbo.VENDOR INNER JOIN
dbo.PURC_ORDER_LINE INNER JOIN
dbo.RECEIVER_LINE ON dbo.PURC_ORDER_LINE.LINE_NO = dbo.RECEIVER_LINE.PURC_ORDER_LINE_NO INNER JOIN
dbo.PURCHASE_ORDER ON dbo.RECEIVER_LINE.PURC_ORDER_ID = dbo.PURCHASE_ORDER.ID AND
dbo.PURC_ORDER_LINE.PURC_ORDER_ID = dbo.PURCHASE_ORDER.ID ON dbo.VENDOR.ID = dbo.PURCHASE_ORDER.VENDOR_ID INNER JOIN
dbo.PART ON dbo.PURC_ORDER_LINE.PART_ID = dbo.PART.ID
WHERE (NOT (dbo.PURC_ORDER_LINE.PART_ID LIKE 't%')) AND (dbo.PURC_ORDER_LINE.PART_ID BETWEEN 'AAA000201' AND 'AFC005151')
ORDER BY dbo.PURC_ORDER_LINE.PART_ID, dbo.PURCHASE_ORDER.LAST_RECEIVED_DATE DESC
por favor estoy necesitando ayuda con una consulta, lo que necesito es poder ver las ultimas dos o x compras realizadas en rango de tiempo por articulo, la consulta que realicé lo que hace es traerme todas las compras por articulo, pero yo solo quiero ver 2 o x ultimas compras por articulo.
ejemplo :
coca cola $2 01/01/2007 } solo quiero ver estas dos
coca cola $3 25/01/2007 }
coca cola $3 01/02/2007
coca cola $5 01/03/2007
cepillo dental $2 01/01/2007 } solo quiero ver estas dos
cepillo dental $3 25/01/2007 }
cepillo dental $3 01/02/2007
cepillo dental $5 01/03/2007
vaso liso $2 01/01/2007 } solo quiero ver estas dos
vaso liso $3 25/01/2007 }
vaso liso $3 01/02/2007
vaso liso $5 01/03/2007
la consulta que yo realicé me trae todas las compras.... me han dicho de usar la funcion RANK. utilizo SQL SERVER 2000
Les dejo la consulta por favor ayudenme!!!!!!
SELECT dbo.PURC_ORDER_LINE.PART_ID, dbo.PART.DESCRIPTION, dbo.RECEIVER_LINE.PURC_ORDER_ID,
dbo.PURCHASE_ORDER.LAST_RECEIVED_DATE, dbo.RECEIVER_LINE.RECEIVED_QTY, dbo.PURC_ORDER_LINE.UNIT_PRICE,
dbo.PURCHASE_ORDER.VENDOR_ID, dbo.VENDOR.NAME
FROM dbo.VENDOR INNER JOIN
dbo.PURC_ORDER_LINE INNER JOIN
dbo.RECEIVER_LINE ON dbo.PURC_ORDER_LINE.LINE_NO = dbo.RECEIVER_LINE.PURC_ORDER_LINE_NO INNER JOIN
dbo.PURCHASE_ORDER ON dbo.RECEIVER_LINE.PURC_ORDER_ID = dbo.PURCHASE_ORDER.ID AND
dbo.PURC_ORDER_LINE.PURC_ORDER_ID = dbo.PURCHASE_ORDER.ID ON dbo.VENDOR.ID = dbo.PURCHASE_ORDER.VENDOR_ID INNER JOIN
dbo.PART ON dbo.PURC_ORDER_LINE.PART_ID = dbo.PART.ID
WHERE (NOT (dbo.PURC_ORDER_LINE.PART_ID LIKE 't%')) AND (dbo.PURC_ORDER_LINE.PART_ID BETWEEN 'AAA000201' AND 'AFC005151')
ORDER BY dbo.PURC_ORDER_LINE.PART_ID, dbo.PURCHASE_ORDER.LAST_RECEIVED_DATE DESC
Valora esta pregunta


0