Sql 最近4家供应商的库存项目详细信息
我正在尝试获取最近4家供应商的库存详细信息,包括日期、最后价格等。下面是SQL正在尝试但未获得结果Sql 最近4家供应商的库存项目详细信息,sql,sql-server,Sql,Sql Server,我正在尝试获取最近4家供应商的库存详细信息,包括日期、最后价格等。下面是SQL正在尝试但未获得结果 SELECT S.Number, S.Description, S.BrandDescription, PL.ID, S.CatalogueDescription, S.InventoryUnitOfMeasure, S.TenderPrice, S.LastTenderedVendorId, S.Notes --, vendorNumber,
SELECT S.Number, S.Description, S.BrandDescription, PL.ID, S.CatalogueDescription, S.InventoryUnitOfMeasure,
S.TenderPrice, S.LastTenderedVendorId, S.Notes --, vendorNumber, VendorName, LastTransactionDate, po.OrderDate
FROM Stocks.Stock S LEFT OUTER JOIN Purchasing.PurchaseOrderLineItem PL on s.id = pl.StockId
inner join Purchasing.PurchaseOrder po on po.Id = pl.PurchaseOrderId
left join
(select vendorNumber, VendorName, POLID, LastTransactionDate from
(
SELECT top 4 v.Number vendorNumber, v.Name VendorName, PLL.Id POLID, max(por.TransactionDate) as LastTransactionDate,
ROW_NUMBER() OVER(PARTITION BY v.Number ORDER BY max(por.TransactionDate) DESC) AS rk
FROM Purchasing.PurchaseOrderLineItem PLL
inner join Purchasing.PurchaseOrder po on PLL.PurchaseOrderId = po.Id
inner join Purchasing.PurchaseOrderVendor POV on po.Id = POV.PurchaseOrderId
inner join Purchasing.Vendor V on pov.VendorId = v.Id
left outer join Purchasing.PurchaseOrderReceipt POR on PLL.Id = por.PurchaseOrderLineItemId
group by v.Number, v.Name,PLL.Id
order by LastTransactionDate desc
) A
where a.rk = 1) B on PL.Id = b.POLID
我需要最多4个最后的供应商,所以想要4行与供应商的详细信息每个股票。将在报告中进行分组。LINQ查询也可以工作。从您的语句中,不清楚哪个表是主表,哪个表用于详细信息,但下面是您尝试执行的模板。您可以使用外部应用程序:
Select * from master m
outer apply (select top 4 * From Details d where m.Id = d.Id order by someColumns desc)o
您能创建一个提琴吗?库存-->PurchaseOrderLineItem-->PurchaseOrder-->PurchaseOrderVendor-->供应商库存是主表,过去可能有许多供应商用于同一产品。我们需要4个最近的最后4个不同的供应商与价格和最后购买日期。我认为你需要应用外部应用,而不是左加入作为乔治的代码@卡齐法汗