sql - 带有可以返回空值的连接的 SQL 添加
问题描述
Table1
并且Table2
都包含名为Username
和的列Score
。Table1
保证有查询所需的所有用户,而Table2
只有这些用户的子集。如何编写此查询,以便即使 Table2 不包含匹配的用户,我也始终获得两个表的总分?换句话说,如果 Table2 中为 null,我想将其视为零。
Table1 Table2
User1 200 100
User2 200 NULL
User3 200 300
User1 TotalScore = 300
User2 TotalScore = 200
User3 TotalScore = 500
解决方案
我认为一个简单的聚合就可以了
Select UserName
,Score=sum(Score)
From (
Select UserName,Score From Table1
Union All
Select UserName,Score From Table2
) A
Group By UserName
推荐阅读
- django - 从页面 Django 自动结束视频通话会话
- python - 在 PyCharm 中调试瓶服务器时出现 SyntaxError "Non-ASCII character '\\xca' in file..."
- odoo - 在 Odoo 11 中禁用编辑和删除选项
- react-navigation - 使用 react-navigation 5.x 在子组件内路由
- ssis - 由于 SSIS 中的错误 0x80040154 dtexec 错误,无法创建 dts.application
- c# - LINQ to SQL 查找句子中的单词以特定字符开头的记录
- javascript - 使用 JS/NodeJS 搜索数据的更好方法
- npm - npm 脚本中的括号
- python - Python文件读写——脚本
- excel - 尝试从网站导入修剪后的价值