获取所有款项

2020-08-21 14:39发布

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

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


先生,我需要

的总和

销售订单

交货单

应收发票

收款

针对特定客户并在日期范围内

为此,我有以下代码

选择T0。" CardCode",max(T0。" CardName")作为参与者,
 总和(T0。" DocTotal")为sale_order_sum,
 sum(T1。" DocTotal")作为delivery_sum,
 sum(T2。" DocTotal")作为invoice_sum,
 总和(T3。"现金总和")作为ORDR T0中的入库付款_总和
 左联接ODLN T1 ON T0。" CardCode" = T1。" CardCode"
 左联接OINV T2在T0上。" CardCode" = T2。" CardCode"
 在T0上左联接ORCT T3。" CardCode" = T3。" CardCode"
 在T0。" CardCode" ='C2402115'
 AND T0。" DocDate"介于" 2020-03-01"和" 2020-03-07"之间
 AND T0。" CANCELED" ='N'GROUP BY T0。" CardCode"

 

查询运行没有任何错误,但是显示了错误的结果。

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

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


先生,我需要

的总和

销售订单

交货单

应收发票

收款

针对特定客户并在日期范围内

为此,我有以下代码

选择T0。" CardCode",max(T0。" CardName")作为参与者,
 总和(T0。" DocTotal")为sale_order_sum,
 sum(T1。" DocTotal")作为delivery_sum,
 sum(T2。" DocTotal")作为invoice_sum,
 总和(T3。"现金总和")作为ORDR T0中的入库付款_总和
 左联接ODLN T1 ON T0。" CardCode" = T1。" CardCode"
 左联接OINV T2在T0上。" CardCode" = T2。" CardCode"
 在T0上左联接ORCT T3。" CardCode" = T3。" CardCode"
 在T0。" CardCode" ='C2402115'
 AND T0。" DocDate"介于" 2020-03-01"和" 2020-03-07"之间
 AND T0。" CANCELED" ='N'GROUP BY T0。" CardCode"

 

查询运行没有任何错误,但是显示了错误的结果。

付费偷看设置
发送
13条回答
悻福寶寶
1楼 · 2020-08-21 15:15.采纳回答

尊敬的Tariq

在上面的查询中,您使用了UNION ALL-不会删除重复项。 删除该unionall并仅使用union并尝试,如果无法解决,则

因此我们可以将该查询修改为子查询,然后选择最终查询,如下所示:

在此查询中,我 仅添加了发票和交货,其余可以添加

SUBQ =底部查询

从CARDCODE,NAME,SUM(INV_PAY),SUM(DEL_PAY)选择*
 从
     (
       选择T0。" CardCode" AS" CardCode",最大值(T0。" CardName")AS" Name",
                sum(T0。" DocTotal")AS" inv_pay",0作为" del_pay"
       从Ordr T0
       在T0。" CardCode" ='C2402115'
        AND T0。" 2020-03-01"和" 2020-03-07"之间的" DocDate"
       按T0分组。" CardCode"
       联盟
       选择T1。" CardCode" AS" CardCode",最大值(T1。" CardName")AS"名称",
             0为" inv_pay",sum(T1。" DocTotal")AS为" del_pay"
       从Odln T1
       在T1。" CardCode" ='C2402115'
       和T1。" 2020-03-01"和" 2020-03-07"之间的" DocDate"
       按" CardCode"分组
     )作为" SUBQ"
 通过" CardCode"订购
 按名称分组
 
落灬小鱼
2楼-- · 2020-08-21 15:17

请勿使用UNION ALL...。请仅使用UNION

让我知道

My梦
3楼-- · 2020-08-21 15:41

尊敬的先生,

如果我删除T0.cancelled ='N',那么结果仍然没有差异

选择T0。" CardCode",max(T0。" CardName")作为参与者,
 总和(T0。" DocTotal")为sale_order_sum,
 sum(T1。" DocTotal")作为delivery_sum,
 sum(T2。" DocTotal")作为invoice_sum,
 总和(T3。"现金总和")作为ORDR T0中的入库付款_总和
 内联接ODLN T1接通T0。" CardCode" = T1。" CardCode"
 内部JOIN OINV T2 ON T0。" CardCode" = T2。" CardCode"
 内部JOIN ORCT T3 ON T0。" CardCode" = T3。" CardCode"
 在T0。" CardCode" ='C2402115'
 AND T0。" DocDate"介于" 2020-03-01"和" 2020-03-07"之间
 T0分组。" CardCode"
 

先生,这是我在这个社区中的第一篇帖子。

Nan4612
4楼-- · 2020-08-21 15:40

先生,这是Toad中的错误

如何克服这个问题?

huskylover
5楼-- · 2020-08-21 15:39

先生,这次我修改了这样的代码

从中选择*
 (SELECT T0。" CardCode" AS" CardCode",最大值(T0。" CardName")AS" Name",
 sum(T0。" DocTotal")AS" inv_pay",0作为" del_pay"
 从Ordr T0
 在T0。" CardCode" ='C2402115'
 AND T0。" 2020-03-01"和" 2020-03-07"之间的" DocDate"
 按T0分组。" CardCode"
 全部联盟
 选择T1。" CardCode" AS" CardCode",最大值(T1。" CardName")AS"名称",
 0为" inv_pay",sum(T1。" DocTotal")AS为" del_pay"
 从Odln T1
 在T1。" CardCode" ='C2402115'
 和T1。" 2020-03-01"和" 2020-03-07"之间的" DocDate"
 按" CardCode"分组)
 通过" CardCode"订购
 

结果看起来像这样

现在我的问题是如何在一行中显示以上结果,我的意思是按CardCode分组

Climb_Ma
6楼-- · 2020-08-21 15:22

出现此错误。

哎,真难
7楼-- · 2020-08-21 15:40

先生,我已经像这样修改了您的查询

选择" SUBQ"。" CardCode",将max(" SUBQ"。" Name")作为名称,将sum(" SUBQ"。" inv_pay")作为inv_pay,将sum(" SUBQ"。" del_pay")作为del_pay
 从
 (
       选择T0。" CardCode" AS" CardCode",最大值(T0。" CardName")AS" Name",
                sum(T0。" DocTotal")AS" inv_pay",0作为" del_pay"
       从Ordr T0
       在T0。" CardCode" ='C2402115'
        AND T0。" 2020-03-01"和" 2020-03-07"之间的" DocDate"
       按T0分组。" CardCode"
       联盟
       选择T1。" CardCode" AS" CardCode",最大值(T1。" CardName")AS"名称",
             0为" inv_pay",sum(T1。" DocTotal")AS为" del_pay"
       从Odln T1
       在T1。" CardCode" ='C2402115'
       和T1。" 2020-03-01"和" 2020-03-07"之间的" DocDate"
        按T1分组。" CardCode"
     )作为" SUBQ"
     按" CardCode"分组
 通过" CardCode"订购

现在工作正常。

谢谢和亲切的问候。

一周热门 更多>