Query ultimo precio de compra

Buenos días amigos, los molesto para consultarles si sabrían como hacer para que me traiga el último o solo los dos últimos precios de compra de un artículo?

El query que realice es el siguiente:

SELECT T0."CardName", T0."DocNum", T0."TransId", T0."DocDate",T1."ItemCode", T1."Dscription",  T1."Quantity", T1."Price", T1."unitMsr", T2."LastPurPrc", T2."LastPurCur" FROM OPCH T0  INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry" INNER JOIN OITM T2 ON T1."ItemCode" = T2."ItemCode" WHERE T0."DocDate" >[%0] AND T0."DocDate" <=[%1]

Cualquier duda me avisan.
Saludos

Bendiciones Leandro, una consulta, query que tenes actualmente te pide un rango de fecha, y el resultado dentro este rango de fecha te muestra muchos articulos, lo que necesitas es que por cada articulo solo te muestre las dos últimas compras o un articulo en especial ???

solamente que me informe la última compra. Me interesa todo el listado de artículos, ya que ya existe un informe de ultimas compras que puedo optar por elegir la cantidad de ultimas compras (ejemplo 8 ultimas compras), pero solo puedo filtrar por un solo artículo y lo que quiero es por todos o por grupo.
Cualquier duda avisame.
saludos

Hola @Leandro_Barze
El siguiente query te muestra lo que necesitas:

SELECT T2."ItemCode", T2."ItemName", T2."LastPurDat", MAX (T0."DocDate") FROM OPCH T0 INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry" INNER JOIN OITM T2 ON T1."ItemCode" = T2."ItemCode" WHERE T2."LastPurDat" <> T0."DocDate" AND T2."ItemCode" = [%0] GROUP BY T2."ItemCode", T2."ItemName", T2."LastPurDat"

Andres Ramirez Jaramillo :colombia:

Buen día Leandro, solo agregale a tu consulta lo siguiente:

AND T0."TransId" IN (
   SELECT MAX(T0A."TransId") "Transaccion"
   FROM OPCH T0A 
   INNER JOIN PCH1 T1A ON T0A."DocEntry" = T1A."DocEntry" AND T1."ItemCode" = T1A."ItemCode"
   WHERE T0A."DocDate" >[%0] AND T0A."DocDate" <=[%1]
)

Disculpen, no me doy cuenta donde agregarlo

SELECT T0."CardName", T0."DocNum", T0."TransId", T0."DocDate",T1."ItemCode", T1."Dscription", T1."Quantity", T1."Price", T1."unitMsr", T2."LastPurPrc", T2."LastPurCur" 

FROM OPCH T0 
INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry" 
INNER JOIN OITM T2 ON T1."ItemCode" = T2."ItemCode" 
WHERE T0."DocDate" >[%0] AND T0."DocDate" <=[%1]
AND T0."TransId" IN (
   SELECT MAX(T0A."TransId") "Transaccion"
   FROM OPCH T0A 
   INNER JOIN PCH1 T1A ON T0A."DocEntry" = T1A."DocEntry" AND T1."ItemCode" = T1A."ItemCode"
   WHERE T0A."DocDate" >[%0] AND T0A."DocDate" <=[%1]
)

me sigue dando con error.

Que error te muestra ???

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.