Buen dia amigos, tengo que crear un reporte donde me muestre ciertos datos del maestro del articulo relacionas con ciertos datos de la ultima compra realizada y registrada como tal.
Ya tengo la siguiente consulta:
SELECT Fact.Factura, Fact.Fecha, Fact.Código, Fact.Proveedor, Fact.[Ref-Factura],
Fact.Artículo, Fact.[Ref-Maestro], Fact.[Prov-Defecto], Fact.Descripción, Fact.Cant, Fact.Moneda, Fact.Precio
FROM
(
SELECT T1.docNum as 'Factura', -- Numero de Documento en OPCH
T1.CardName as 'Proveedor', --Nombre del Proveedor en OPCH
max(T1.DocDate) as 'Fecha', --Fecha de contabilizacion en OPCH
T1.CardCode as 'Código', --Codigo del Proveedor en OPCH
--max(T1.DocTime) as 'Hora',
T2.[VendorNum] as 'Ref-Factura', --Número de catálogo de fabricante en PCH1
T0.ItemCode as 'Artículo', --Código del Articulo en OITM
T0.[SuppCatNum] as 'Ref-Maestro', --Número de catálogo de fabricante en OITM
T0.ItemName as 'Descripción', --Descripcion del articulo en OITM
T0.[CardCode] as 'Prov-Defecto', --Proveedor por Defecto en OITM
T2.[Quantity] as 'Cant', --Cantidad en PCH1
T2.Currency as 'Moneda', --Moneda en PCH1
T2.Price as 'Precio' --Precio en PCH1
FROM OITM T0 ,
OPCH T1
INNER JOIN PCH1 T2 ON T1.DocEntry = T2.DocEntry
WHERE T2.ItemCode = T0.ItemCode and T0.Itemcode!='SI-99999'
and T0.ItmsGrpCod not in ('111','112','106','110')
and T2.DocEntry = T1.DocEntry
GROUP BY T1.docNum, T1.CardName, T1.CardCode, T1.DocTime, T2.[VendorNum], T0.ItemCode, T0.[SuppCatNum], T0.ItemName,
T0.[CardCode], T2.[Quantity], T2.Currency, T2.Price
--ORDER BY T0.ItemCode
) as Fact
ORDER BY Fact.Artículo DESC, Fact.Fecha
FOR BROWSE
El problema que tengo es que: Necesito solo el ultimo registro por compra de las tablas de facturas, pero como es una combinacion de campos y se hacen agrupaciones, en varios articulos me muestras varias compras, porque nosotros le compramos el mismo articulo a varios proveedoras.
A la espera de ustedes.
Gracias por su atencion.