首页 > 解决方案 > 返回 BAQ 中的最新记录

问题描述

很抱歉,之前很多人都问过这个问题。不幸的是,我对 SQL 几乎一无所知,并且未能根据之前提出和回答的问题使其工作。

我的任务是通过 Epicor10 创建一个 BAQ,我需要它根据最近的收货日期为每个零件返回 1 个条目。这是我的查询

    select 
    [PODetail].[PartNum] as [Part #],
    [Part].[PartDescription] as [Part Description],
    [PODetail].[PUM] as [Supplier UOM],
    [PODetail].[DocUnitCost] as [Unit Price],
    [RcvHead].[ReceiptDate] as [Receipt Date]
from Erp.Part as Part
inner join Erp.PODetail as PODetail on 
    Part.Company = PODetail.Company
    and Part.PartNum = PODetail.PartNum
cross join Erp.RcvHead as RcvHead

我的结果看起来像这样。

Part Num    Description Supplier UOM    Unit Price  Receipt Date
100009      4x4-4/4   10" x 35"  EA     4.77        4/9/2020
100009      4x4-4/4   10" x 35"  EA     4.77        4/9/2020
100009      4x4-4/4   10" x 35"  EA     4.77        4/8/2020
100009      4x4-4/4   10" x 35"  EA     4.60        1/7/2020
100009      4x4-4/4   10" x 35"  EA     4.60        1/7/2020
100010      4x4-4/4   10" x 40"  EA     4.89        1/7/2020
100010      4x4-4/4   10" x 40"  EA     4.89        1/7/2020
100010      4x4-4/4   10" x 40"  EA     4.75        8/19/2019
100010      4x4-4/4   10" x 40"  EA     4.75        8/17/2019

完成后,我希望结果是。

Part Num    Description Supplier UOM    Unit Price  Receipt Date
100009      4x4-4/4   10" x 35"  EA     4.77        4/9/2020
100010      4x4-4/4   10" x 40"  EA     4.89        1/7/2020

如果有人能告诉我在我的代码中放置什么以及将其放在哪里,那将非常有帮助。再次,很抱歉,这个问题被问了很多次,我只是没有足够的知识来让它自己工作。谢谢你。

标签: sqlepicor

解决方案


要获得最新的收货日期,您需要查看您的排序顺序。去:

查询生成器 > 显示字段 > 排序顺序

您将需要使用 Receipt Date 并确保其按降序排列。

Sort Order 所在的 BAQ 屏幕的图像

然后要使 BAQ 返回一条记录,请转到 SubQuery Options 选项卡。

查询生成器 > 子查询选项

然后,您可以通过将名为“Result Set Rows”的下拉列表中的值更改为 TOP 来指定 BAQ 仅返回一行,然后在下面指定仅返回一行。

子查询选项屏幕的图像


推荐阅读