2017-07-26 94 views
0

下午好,我 有我使用Excel内返回销售订单行及其相应的价格表/折扣等SAP B1(HANA)关联销售订单数量以批量折扣

我需要一个现有的查询将此扩展为适用时显示相应的批量折扣。我添加了一个连接到我的查询 **

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

** 这个链接我的BP和ItemCode从订单头和订单行表。从SPP2字段中选择金额和价格字段,然后返回与Spp2表的第三行匹配的所有行。 这意味着,如果我有一个数量为120的销售订单行,那么SPP2中的两个价格中断(例如50和100)将返回50和100批量数量的行。我只想返回100线,因为这是SO上的价格。

我希望这一切都有道理。 在此先感谢, 肯

回答

0

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

或者您可以将与not exists相关的子查询添加到您的where子句中,以过滤掉其他spp2条目存在的更接近于t1的所有spp2条目“Quantity”。

如果你想要得到你应该添加一个最小的,完整的,并且可验证例如

https://stackoverflow.com/help/mcve

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

+0

喜更精确的答案,谢谢你的更新。我试图添加下面我正在使用的查询,但它告诉我使用较少的字符。 你能详细说明你的子查询吗?在此先感谢,肯 – sarnieken