【发布时间】:2020-09-04 09:57:41
【问题描述】:
这可能真的很简单,但我没有看到解决方案。在 SAP B1 中,我有一个服务调用,其中链接了多个销售订单。我只想要最近的销售订单的结果,但是它会将所有附加到它的销售订单中的所有订单项都扔给我。我可以在我的代码中看到它为什么这样做,但解决方案还没有出现在我面前。
我认为我可以通过使用 MAX(T4.DocNum) 并对选择信息进行分组来修复它,但这不仅不起作用,它还摆脱了我不想要的行之一。
代码;
SELECT T1."callID",T3."ItemCode", T3."Dscription", T3.DocEntry,T2.SrcvCallId,T3.Quantity,T4.DocNum
FROM OSCL T1
LEFT JOIN SCL4 T2 ON T1."callID" = T2."SrcvCallID"
INNER JOIN RDR1 T3 ON T2."Object" = T3."ObjType" AND T2."DocAbs" = T3."DocEntry" AND T2."Object" = '17'
INNER JOIN ORDR T4 ON T4.DocEntry = T3.DocEntry
WHERE T1.callID = 11255
ORDER BY T4.DocDate DESC
结果;
正如您看到的最后一个结果来自另一个关联的链接文档,我不希望它出现。
感谢您对此的任何帮助。
【问题讨论】:
-
预期结果是什么?
-
预期结果是除了最后一个具有不同 DocNum 的行之外的所有行(在这种情况下)。如果任何服务调用有多个这种类型的链接文档,则查询应仅生成来自该最近链接文档的所有行项目。