sql - 如何组合 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 所做的那样,它会向我显示奇怪的数字,远高于我当前代码中的各个行的总和。
有谁知道如何解决这个问题?几天以来,我一直在努力寻找解决方案。
先感谢您!!!
解决方案
推荐阅读
- php - 使用 wp_insert_post() 时如何在 post_content 中插入古腾堡块?
- c - 将 SIGINT 发送到运行脚本的分叉 exec 进程不会杀死它
- visual-studio-code - 从 VS Code 部署时 LWC 部署错误
- database - 复制完成后如何将文档从一个数据库复制到另一个数据库并删除原始数据库上的文档
- codeigniter - 如何修复 CodeIgniter Base_url 和 css 链接
- python-3.x - 有没有办法用逗号分隔多个列
- javascript - select2 未显示数据库中预选的数据
- r - R Shiny ValueBox 和表格布局
- pvlib - 没有名为“pvlib.temperature”的模块
- parsing - rdf4j:解析 sparql 查询以更改三元组模式中的某些 uri