sql-server - 如何从两个表中选择具有不同值的列?
问题描述
我有两个具有相同列的表,例如表 A 和表 B
表 A:
Name Address Phone
A Add1 123
表 B:
Name Address Phone
A Add1 12345
我只想选择具有不同值的列
预期输出:
Phone
123
1234
解决方案
SELECT Phones.Phone
FROM A
INNER JOIN b ON A.Name = B.Name AND A.Addr = B.Addr AND A.Phone <> B.Phone
CROSS APPLY (
SELECT Phone = A.Phone
UNION ALL
SELECT Phone = B.Phone
) AS Phones
推荐阅读
- android - 如何确保设置片段的后退按钮使用 aac 转到启动片段
- java - JMS 2.0 - MQ 9 - 主题共享订阅不起作用
- angular - 侧面板未在 DOM 外部单击(Angular 6)上的 IOS 设备中关闭
- javascript - 如果评估为真则返回一个值,如果评估为假则中断?
- mockito - 在看似正确的代码中获取 org.mockito.exceptions.misusing.InvalidUseOfMatchersException
- android - Android LuckyWheel 库在 Canvas 项目上添加 onClick 方法
- c# - 如何使用 DataGridViewImageColumn 使用缩放显示图像并保持纵横比?
- javascript - 使用 Material-UI 的 Gatsby:为什么要创建 PageContext?
- mysql - MySQL 集成测试“未找到查询”
- docker - 在多个ec2节点上设置zookeeper集群时0.0.0.0是什么意思