【问题标题】:MySQL merge 2 tables with same Id valuesMySQL 合并 2 个具有相同 Id 值的表
【发布时间】:2012-07-11 00:31:28
【问题描述】:

我有一个 MySQL 数据库,它有 2 个表,这些表具有我需要合并到 1 个表的相关信息。

Gallery 有一个与rbitems Id 相关的itemidgalleryrbitems 两个表都有不同的列名,但都有唯一的数据。我想根据 Iditemid 列合并这两个表。

那么,如何根据具有唯一值的 1 列将 2 个不同的表合并为 1 个。我只想将其他表附加到合并中。

【问题讨论】:

  • 更多信息请了解哪些列是哪些表的外键,以及源表和目标表的架构(即列)
  • 我不确定最后一句“将其他表附加到合并”是什么意思。你能解释一下吗?

标签: mysql merge


【解决方案1】:

您可以使用JOIN 来解决您的问题。

SELECT a.*, b.*
FROM   galley a INNER JOIN rbitems b
          on a.itemid = b.id

【讨论】:

    【解决方案2】:
    CREATE TABLE new_table
    AS (SELECT g.itemid, g.a, g.b, g.c, r.x, r.y, r.z 
        FROM gallery g INNER JOIN rbitems r
        ON g.itemid = r.id
    );
    

    您可能希望将“AS 名称”添加到 select 子句的成员中。 如果您有原始表中未在其他表中表示的元素,您应该查看 RIGHT、LEFT 或 OUTER JOIN 而不是 INNER。 这假定 itemid 和 id 列是唯一的——给定的 itemid/id 在同一个表中不会多次存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-14
      • 2023-03-08
      • 2020-12-23
      • 2017-05-18
      • 1970-01-01
      • 2013-12-26
      • 2014-10-08
      相关资源
      最近更新 更多