mysql - mysql - 组合连接和联合操作
问题描述
我有两张表地图和历史
地图有 ID 和区域名称
ID region
N1 R1
N2 R2
N3 R3
history 有 ID 变化的历史,所以新旧 ID
old new
O1 N1
O2 N3
我想附加这两个表,以确保旧 ID 仍然指向其对应的新 ID 的区域
ID region
N1 R1
N2 R2
N3 R3
O1 R1
O2 R3
我能想到的唯一方法是加入这两个表,从新表中获取旧表和新表并将其与映射表联合。有没有更好的办法?
解决方案
我认为您对工会和加入的看法是正确的。像这样的东西应该可以正常工作:
SELECT
ID, region
FROM
map
UNION
SELECT
h.old, m.region
FROM
history h Left Join
map m ON h.new = m.ID
推荐阅读
- xaml - 带有 glyp 和标签的按钮
- excel - Check if autofilter range is completely hidden
- sql - 用于替换列中所有 html 标记的 Sql 查询
- python-3.x - 使用 pandas 加载 teradata 表需要花费大量时间
- postgresql - 连接记录集,其中连接值介于另一行中的基值和更高基值之间
- java - Java 模式在 for 循环中绘制
- javascript - 在响应式站点中创建浮动“div”
- python - 从 C# 运行的 Python 脚本使 Python exe 在后台运行,占用内存
- android - 从 android 10 到 android 11 的存储访问迁移策略
- javascript - Invariant Violation:对象作为 React 子对象无效(发现:具有键 {_40、_65、_55、_72} 的对象)