我搜索了其他相关线程,但我认为我不是在寻找 UNION 或 OUTER JOIN。我想做的在理论上很简单。我在两个不同的数据库中有两个表,两者的数据大致相同。我试图将它们放在一起,以便我们可以比较它们。字段名称不同,但数据非常相似。
想象一下这样的事情:
表“富”:
id first_name last_name dept_name
+---+----------+---------------+-------------+
| 1|Bob |Boberson | Accounting |
| 2|Steven |McStevens | Sales |
| 3|Jane |Janeston | Support |
+---+----------+---------------+-------------+
表“酒吧”:
person_id first last department_id
+----------+----------+---------------+--------------+
| 1|Bob |Boberson | 2|
| 2|Doug |Dugger | 5|
| 3|Jane |Janeston | 3|
+----------+----------+---------------+--------------+
我试图结束这样的事情:
person_id first last department
+----------+----------+---------------+--------------+
| foo_1|Bob |Boberson | Accounting |
| foo_2|Steven |McStevens | Sales |
| foo_3|Jane |Janeston | Support |
| bar_1|Bob |Boberson | Accounting |
| bar_2|Doug |Dugger | IT |
| bar_3|Jane |Janeston | Support |
+----------+----------+---------------+--------------+
使用“as”更改列名、concat 用于各种字段,并进行适当的连接以填写“部门”字段,通过两个单独的选择使两个表彼此相似是很容易的。但是,我不能“加入”并保持这种逻辑。我真的需要为每个表做一个选择语句。这里可能有一个简单的解决方案,但我没有看到它。
编辑:你们是对的,这是一个非常标准的 UNION 案例。我在想 UNIONS 总是出于某种原因添加列。谢谢。