mysql - 如何对父 ID 值求和并代替 null 显示
问题描述
嗨,我有查询返回数据
SELECT
s.StandardID,
s.StandardName as Standard,
TableA.Score,
Dropdown1.Name as dq,
Standard.ParentStandardID,
Standard.Weight
FROM TableA
JOIN Standard ON Standard.StandardID = TableA.StandardID
结果
+------------+----------+-------+------------------+---------+
| StandardID | Standard | Score | parentstandardid | weight |
+------------+----------+-------+------------------+---------+
| 1 | A | | 3 | o |
+------------+----------+-------+------------------+---------+
| 107 | B | | NULL | 1 |
+------------+----------+-------+------------------+---------+
| 111 | C | | 1 | 107 |
+------------+----------+-------+------------------+---------+
| 112 | D | | 2 | 107 |
+------------+----------+-------+------------------+---------+
现在分数为空,我想显示相应父母 ID 的分数总和。如果standardID为107并且得分为null,则得分应该是父母ID的总和为107。不使用分组,如果不为null,则得分保持不变。
任何帮助将不胜感激谢谢!
解决方案
选择
S.StandardID,(当 A.Score 为 NULL THEN C.Score ELSE A.Score END 时的情况)作为 New_Score
从表 A
INNER JOIN Standard S ON S.StandardID = TableA.StandardID LEFT OUTER JOIN (SELECT S1.ParentStandardID, SUM(B.ScoreValue) Score FROM Table B, Standard S1 WHERE S1.StandardID = B.StandardID GROUP BY ParentStandardID) C ON S. StandardID = C.ParentStandardID
推荐阅读
- amazon-web-services - 如何使用 Kinesis Video Streams 和 WebRTC 中的帧对 EC2 实例中托管的 ML 模型进行预测?
- python - 我在 Tkinter 中作为按钮添加的图像不可见,文本版本可见
- css - 由firefox而不是chrome反转的css旋转动画
- angular - ngModel 在 ng-For 中使用时覆盖之前的值
- java - 在 Swagger + Spring boot 中隐藏参数
- c++ - 如何在 .cpp 文件中函数的返回类型(签名)中使用在头文件中定义的别名?
- python - 如何为 python 3.7 安装 ctypes 模块以与 VSCode 调试器一起使用
- javascript - Promise 和 async/await 的区别
- reactjs - 如何在运行 Gatsby 构建/开发时修复 Invariant Violation 错误
- c# - 部分视图表单提交对象绑定到父视图模型而不是它自己的模型