sql - 连接 SQL Server 中的表并报告主表中的缺失数据
问题描述
我有 4 个表,我想对主表中不存在的所有数据进行分组。
例如,我有以下 4 个表:
Table_A – 3000 行:
Table_B – 200 行:
Table_C – 150 行:
Table_D – 800 行:
我想查看 Table_A 中不存在的所有用户并将它们组合到一个表中(示例如下所示):
我有这个查询,但我没有得到上面想要的结果。你能告诉我哪里出错了吗?
SELECT *
FROM Table_A A
RIGHT OUTER JOIN Table_B B ON A.Phone_Number = B.Phone_Number
RIGHT OUTER JOIN Table_C C ON A.Phone_Number = C.Phone_Number
RIGHT OUTER JOIN Table_C D ON A.Phone_Number = D.Phone_Number
WHERE A.ID IS NULL
解决方案
你可以这样做。我可以看到您将如何通过水平显示数据获得更多知识,这使得以后很难使用:
Select * from
(
select [Employee Name], Phone_Number From table_B
union
select [Employee Name], Phone_Number From table_C
union
select [Employee Name], Phone_Number From table_D
)
T
where not exists
(select 1 from Table_A a where a.Phone_Number = T.Phone_Number )
推荐阅读
- javascript - 实现分页和加载微调器以附加元素(多个选项卡)
- powershell - 在powershell中序列化复杂类时排除或选择性地包含子属性
- javascript - select tag onchange 不执行,函数失败:Uncaught ReferenceError: ... is not defined
- python - 重新索引多索引数据框
- javascript - 如何添加循环间隔计时器以保持自动滚动表 3 秒?
- gitlab - GitLab 中的 Jira 集成:缺少问题中的“合并到主要”信息
- python - 如何从 graphene-mongo 的 EmbededDocument 中的“id”中获取芦苇?
- javascript - 如何在同一页面 HTML 中的多个文本中显示当前日期?
- wordpress - Swiper 未定义
- r - 创建子集过滤数据框的摘要