首页 > 解决方案 > 按 id 合并同一数据库中的表

问题描述

我有 1 个数据库,其中 3 个表包含有关同一主题的不同信息,如下所示:

表格1:

ID  |  name  | address
-------------------------
1   |  Jhon  |  somewhere
2   |  James |  somewhere-else

表2:

ID  |  last_name  | status
-------------------------
1   |  Doe  |  single
2   |  Bond |  married

我想将它们合并到一个新表中,如下所示:

新合并表:

ID  |  name  |      address    | last_name | status
----------------------------------------------------
1   |  Jhon  |     somewhere   |     Doe   |  single
2   |  James |  somewhere-else |     Bond  |  married

标签: mysqlsqldatabase

解决方案


使用基本连接:

SELECT
    t1.ID,
    t1.name,
    t1.address,
    t2.last_name,
    t2.status
FROM table1 t1
LEFT JOIN table2 t2
    ON t1.ID = t2.ID;

严格来说,如果一个给定的ID表可以出现在一个表中,但不能同时出现在两个表中,那么您可能希望使用完全外连接,以尽可能始终显示部分信息。如果这是您的情况,那么可以在此处给出评论和不同的查询。


推荐阅读