从OQUT和ORDR获取DocNum

2020-08-14 18:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我的水晶报表有以下查...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我的水晶报表有以下查询;

 SELECT DISTINCT T0.custmrName,T0.callID,T0.BpShipAddr,T1.Name,T0.createDate,T0.subject,T0.manufSN,T0.internalSN,T0.itemCode,T0.itemName,CAST(T0。" 分辨率" AS varchar(MAX)),T0.BPContact,T0.BPCellular,T2.firstName,T2.lastName
 从OSCL T0
 左联接OSCT T1开启T0.callType = T1.callTypeID
 左联接OHEM T2 ON T0.technician = T2.empID
 左联接SCL4 T3开启T3.SrcvCallID = T0.callID 

现在,我还需要包括链接报价中的报价编号或链接销售订单中的销售订单。 如果不存在链接的报价,则应该从销售订单中获取DocNum,但是,如果存在报价,它将始终从链接的报价中获取它(如果两者都存在,则不会从销售订单中获取)。

我的问题是我需要对两个文档都使用INNER JOIN,否则如果存在多个文档,我会得到一条额外的记录;如果我对两个文档都使用了内部联接,那么它就不会显示任何信息。 最好的方法是什么?

我当前的解决方案(当时是一个可怕的解决方案)是对两个都使用子报表,但是如果它们都存在,则说明两者都不理想。

一如既往地感谢您的帮助。

3条回答
独立观察员
2020-08-14 18:51

嗨尼克,

这意味着有多个报价和/或定单相连 您的服务呼叫,或者您需要编辑子查询的where子句。 一种方法是使用TOP 1:

 COALESCE((从OQUT中选择顶部的1个DocNum等),(从ORDR中选择顶部的1个DocNum等),-1)AS [Quote/Ordernr。  ] 

但是,如果您希望每个服务呼叫有多个报价和/或订单,则只会看到一个。

如果您期望有多个 每个服务呼叫的报价和/或订单,问题是,是从报价中提取订单,还是可能多带带进行? 如果使用多带带的文档,则在解决查询之前,您必须考虑如何将它们彼此关联。

问候,

Johan

一周热门 更多>