首页 > 解决方案 > 如何组合 SUM(Cases) 和多个表

问题描述

我想组合多个表和 SUM(case)。目前我的代码如下所示:

SELECT
T0."DocNum", T99."NAME", T0."Project", T98."TotalAR",
SUM(CASE
  WHEN T1."ItemCode" LIKE 'XX-99999-9000%' 
  THEN T1."LineTotal"
  ELSE 0
END) AS "Item Packing",
T0."U_INT_Calc_Packing_Total",
(T0."U_INT_Calc_Packing_Total" + SUM(CASE
WHEN T1."ItemCode" LIKE 'XX-99999-9000%' THEN T1."LineTotal"
ELSE 0
END)) AS "TCP",
CASE
  WHEN T3."ItemCode" LIKE 'XX-99999-9000%' 
  THEN T3."LineTotal"
  ELSE 0
END AS "Real Packing"

FROM
OPMG T99
INNER JOIN OQUT T0 
ON T99."FIPROJECT" = T0."Project"
INNER JOIN PMG8 T98
ON T99."AbsEntry" = T98."AbsEntry"
INNER JOIN OPCH T2
ON T99."FIPROJECT" = T2."Project"
INNER JOIN PCH1 T3
ON T2."DocEntry" = T3."DocEntry"
INNER JOIN QUT1 T1
ON T0."DocEntry" = T1."DocEntry" 


GROUP BY
T0."DocNum", T0."Project", T0."U_INT_Calc_Packing_Total", T99."NAME", T98."TotalAR", T3."LineTotal",  T3."ItemCode"

ORDER BY
T0."Project", T0."DocNum" 

对于第一个 SUM(CASE) 它工作得很好。T3 的 CASE 值是正确的,但它当然显示了很多行(包括 ELSE 零)。如果我要对 T3 的所有内容进行 SUM(CASE) 就像我对 SUM(CASE) T1 所做的那样,它会向我显示奇怪的数字,远高于我当前代码中的各个行的总和。

有谁知道如何解决这个问题?几天以来,我一直在努力寻找解决方案。

先感谢您!!!

标签: sqlhana

解决方案


推荐阅读