点击此处---> 群内免费提供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,否则如果存在多个文档,我会得到一条额外的记录;如果我对两个文档都使用了内部联接,那么它就不会显示任何信息。 最好的方法是什么?
我当前的解决方案(当时是一个可怕的解决方案)是对两个都使用子报表,但是如果它们都存在,则说明两者都不理想。
一如既往地感谢您的帮助。
嗨尼克,
您可以尝试在COALESCE函数中使用子查询。 像这样的东西:
致谢
约翰
进一步阐明我对此问题的理解;
我需要知道,如果存在链接的销售报价,那么它应该显示该报价的编号,但是,如果不存在销售报价,那么它将显示订单号。 但是,如果两者都存在,则会显示销售报价编号,而不显示订单编号。
对于报价/订单上的零件,我也有一个子报表,并且正在努力解决类似的问题。 如果存在报价,则应显示该报价上的零件,如果不存在,则显示订单上的零件。 如果两者都存在,则应在报价单上显示零件,而不是订单。
理想情况下,如果可能的话,我希望没有子报告。
嗨尼克,
这意味着有多个报价和/或定单相连 您的服务呼叫,或者您需要编辑子查询的where子句。 一种方法是使用TOP 1:
但是,如果您希望每个服务呼叫有多个报价和/或订单,则只会看到一个。
如果您期望有多个 每个服务呼叫的报价和/或订单,问题是,是从报价中提取订单,还是可能多带带进行? 如果使用多带带的文档,则在解决查询之前,您必须考虑如何将它们彼此关联。
问候,
Johan
一周热门 更多>