sql - 选择一列中的多个值映射到另一列中的相同值的行
问题描述
我有一张包含用户 ID、地址和邮政编码的表格。每个用户 ID 可以有多个条目(它存储他们以前的所有地址和邮政编码),但存在地址已更新但邮政编码未更新的问题。我需要找到所有用户 ID,对于给定的用户,地址已更改但邮政编码未更新。
+----+---------+----------+
| ID | Address | Postcode |
+----+---------+----------+
| 1 | Town A | abcde2 |
| 1 | Town B | abcde2 |
| 3 | Town B | defgh6 |
| 3 | Town B | defgh6 |
| 4 | Town C | ijklm7 |
| 5 | Town A | ijklm7 |
| 5 | Town C | abcde2 |
+----+---------+----------+
输出应该是:
+----+---------+----------+
| ID | Address | Postcode |
+----+---------+----------+
| 1 | Town A | abcde2 |
| 1 | Town B | abcde2 |
+----+---------+----------+
或者只是ID。
解决方案
我认为下面的代码可以解决您的问题:
SELECT A.ID, A.ADDRESS, A.POSTCODE FROM
TABLE A
JOIN TABLE B ON A.ID=B.ID AND A.ADDRESS=B.ADDRESS AND A.POSTCODE<>B.POSTCODE;
推荐阅读
- angular - 加载资源失败:服务器响应状态为 403 - 图像
- excel - 仅当标题为“名称”时,如何复制数据?
- sql - 将日期转换为月年格式并在查询中传递
- android - Android / 无需用户协商自动开启危险权限
- javascript - 未捕获的 ReferenceError:未定义 url -JavaScript 错误
- java - 如何在 spring-servlet.xml 中配置 jackson object-mapper 以进行@RequestBody 转换?
- io - 关闭时是否将多余的数据写入文件?
- docker - 需要有关 nginx 反向代理(和 jenkins ?)配置的帮助
- c# - 如果 Ole.DB 提供程序在系统上可用,为什么 OleDbConnection.Open() 会抛出无法识别的数据库格式
- r - 在 R 中用 dims 编码 NLS 时出现问题