【问题标题】:SAP B1 (HANA) Link sales order quantity to volume discountSAP B1 (HANA) 将销售订单数量链接到批量折扣
【发布时间】:2017-07-26 14:45:23
【问题描述】:

下午好, 我有一个现有的查询,我在 Excel 中使用它来返回销售订单行及其相应的价目表/折扣等。

我需要扩展它以在适用的情况下显示相应的批量折扣。我在查询中添加了一个连接 **

left join spp2 T7
  on        T7."CardCode" = T0."CardCode"
  and       T7."ItemCode" = T1."ItemCode"
  and       T7."Amount" < T1."Quantity"

** 这将我的 BP 和 ItemCode 从 Order header 和 order line 表中链接起来。从 SPP2 字段中选择 Amount 和 Price 字段,然后返回与 Spp2 表的第三行匹配的所有行。 这意味着如果我有一个数量为 120 的销售订单行,那么 SPP2 内的两个价格中断(例如 50 和 100)将返回 50 和 100 数量的行。我只想返回 100 的行,因为这是 SO 价格中使用的行。

我希望这一切都有意义。 提前致谢, 肯

【问题讨论】:

    标签: sql sap hana


    【解决方案1】:

    您可以使用窗口函数 row_number()。将row_number over ( partition by t7."CardCode", t7."ItemCode" order by t7."Amount" )row_num添加到您的选择子句中,稍后过滤row_num = 1

    或者您可以在 where 子句中添加带有 not exists 的相关子查询,以过滤掉所有 spp2 条目,其中存在更接近 t1."Quantity" 的另一个 spp2 条目。

    如果您想获得更准确的答案,您应该添加一个最小、完整和可验证的示例

    https://stackoverflow.com/help/mcve

    Why should I provide an MCVE for what seems to me to be a very simple SQL query?

    【讨论】:

    • 您好,感谢您的更新。我试图在下面添加我正在使用的查询,但它告诉我使用更少的字符。你能详细说明你的子查询吗?在此先感谢,肯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多