【问题标题】:Epicor BAQ - calculated fieldsEpicor BAQ - 计算字段
【发布时间】:2018-04-11 08:00:22
【问题描述】:

希望你做得很好,并帮助我解决以下关于 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 end

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

希望您能提供帮助,非常感谢。

【问题讨论】:

  • 你用的是什么版本? 10.?

标签: sql epicorerp epicor10 epicor


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我没有现成的 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 2012-10-11
      • 1970-01-01
      • 2016-09-28
      相关资源
      最近更新 更多