1

希望你做得很好,并帮助我解决以下关于 BAQ 的问题。

请参阅下面的示例 - 当前结果

+-------+------+--------------+------+
| Order | Part | Ship By Date | Wave |
+-------+------+--------------+------+
|  1231 | A    | 11/04/2018   |  333 |
|  1231 | A    | 11/04/2018   |  257 |
|  2522 | C    | 11/04/2018   |  333 |
|  2556 | A    | 11/04/2018   |    0 |
+-------+------+--------------+------+

我需要找到在 BAQ 中使用计算字段或其他选项的方法,才能只看到一个波号。对于每个订单行。当按日期发货和订单号时,向我展示顶波之类的东西。是否相同 else 0 结束

+-------+------+--------------+------+
| Order | Part | Ship By Date | Wave |
+-------+------+--------------+------+
|  1231 | A    | 11/04/2018   |  333 |
|  2522 | C    | 11/04/2018   |  333 |
|  2556 | A    | 11/04/2018   |    0 |
+-------+------+--------------+------+

希望您能提供帮助,在此先感谢您。

4

2 回答 2

3

希望这个想法有所帮助。在 Epicor 10 中,您应该能够创建公用表表达式 (CTE)。从您的示例中,我将创建 2 个 CTE。每个结果集一个。对于第二个 CTE,选择 MAX(Order) group by Ship By Date。接下来,创建一个新的 TopLevel 以在 Order number 上加入两个 CTE,以获得您想要的结果。

于 2018-12-20T08:54:38.480 回答
0

我没有现成的 Epicor 10,但我通过创建子查询实现了类似的目标。

您将需要使用(我相信 Epicor 称之为)内部查询。您的内部子查询将需要设置为 Top 选项,其中的排序选项为波降序并返回示例中列出的四个字段。然后,您将使用 order、part 和 shipby 字段作为键值将表连接到自身。这应该有效。

如果您有权访问 SSMS 实例,则可以尝试以下操作:

SELECT DISTINCT Order, Part, ShipByDate, Wave
FROM [Table] t
WHERE Wave = (SELECT TOP 1 WAVE FROM [Table] t2 WHERE t.Order = t2.Order and t.Part = t2.Part and t.ShipByDate = t2.ShipByDate ORDER BY Wave DESC)
于 2018-05-16T20:54:16.923 回答