SAP HANA -count(*)提供不同的输出

2020-09-20 04:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)从(SELECT中选择计数(*)...

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

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


从(SELECT中选择计数(*)
 A.MATNR文章,
 A.WERKS网站,
 ROUND((SUM(COALESCE((CASEWHEN A.BWART IN('551','951')THEN(A.DMBTR)END),0))-SUM(COALESCE((CASEWHEN A.BWART IN('552',  '952')THEN(A.DMBTR)END),0)))))DUMP_VALUE,
 ROUND((SUM(COALESCE((CASEWHEN A.BWART IN('551','951')THEN(A.MENGE)END),0)))-SUM(COALESCE((CASEWHEN A.BWART IN('552',  '952')THEN(A.MENGE)END),0)))))DUMP_QTY
 从MSEG A
 INNERJOIN S_SITE_MASTER B ON A.WERKS = B.STORE_NO
 INNERJOIN S_PRODUCT_MASTER C ON A.MATNR = C.MATERIAL
 在A.BUDAT_MKPF> = ADD_MONTHS(NEXT_DAY(LAST_DAY(ADD_DAYS(CURRENT_DATE,-1))),-1)和A.BUDAT_MKPF <= ADD_DAYS(CURRENT_DATE,-1)和A.BWART IN('551','552  ','951','952')AND C.LEVEL2 = 10AND B.FORMAT_CD IN('1')GROUPBY A.MATNR,A.WERKS);

 输出数量为-129790 
如果我只是将子句AND B.FORMAT_CD IN('1')更改为AND B.FORMAT_CD IN(1),如下所示-
 从(选择计数(*)
 选择
 A.MATNR文章,
 A.WERKS网站,
 ROUND((SUM(COALESCE((A.BWART IN('551','951')THEN(A.DMBTR)END的情况,)0))-SUM(COALESCE((A.BWART IN('552','951')  ','952')THEN(A.DMBTR)END),0)))))DUMP_VALUE,
 ROUND((SUM(COALESCE((A.BWART IN('551','951')THEN(A.MENGE)END的情况,)))-SUM(COALESCE((A.BWART IN('552','951')  ','952')THEN(A.MENGE END),0)))))DUMP_QTY
 从MSEG A
 在A.WERKS = B.STORE_NO上INNER JOIN S_SITE_MASTER B
 IN.JOIN S_PRODUCT_MASTER C ON A.MATNR = C.MATERIAL
 在哪里A.BUDAT_MKPF> = ADD_MONTHS(NEXT_DAY(LAST_DAY(ADD_DAYS(CURRENT_DATE,-1))),-1)
 AND A.BUDAT_MKPF <= ADD_DAYS(CURRENT_DATE,-1)
 AND A.BWART IN('551','552','951','952')
 AND C.LEVEL2 = 10
 和B.FORMAT_CD IN(1)
 GROUP BY A.MATNR,A.WERKS);

 输出数-29403(正确的计数)


 B.FORMAT_CD的数据类型为NVARCHAR(3)。


 计数有何不同?
 
2条回答
95年老男孩
2020-09-20 04:26

是的,我们提出了相同的理由。 谢谢您的帮助,Lars。 :)

一周热门 更多>