【问题标题】:MySQL Merge Two Tables togetherMySQL将两个表合并在一起
【发布时间】:2020-01-23 13:24:21
【问题描述】:

我在 MySQL 方面不是最好的,但目前正在进行一项整理任务,不确定这是否可行,或者我必须编写一个脚本来使用插入来执行此操作。

但我有两个表 AccountInfo 和 AccountLogin 它们都共享相同的 PK,因此 id1 将匹配另一个表中的 id1。我想要做的是将两个表合并到一个名为 Account 的表中,或者合并到两个表中,然后重命名。

我们将不胜感激任何帮助或建议。

【问题讨论】:

  • 您要合并并创建一个全新的表吗?或者你想要一个视图,就像它们合并时一样显示它们?或者只是一个 SQL 来通过连接选择它们?
  • 您可以执行 INSERT INTO 表 VALUES (SELECT...)。对于 SELECT 部分,只需使用 JOIN ON id 来获取所有值。您构建的表将包含两个表的所有字段(或您需要的那些)
  • @Adder 将 AccountLogin 和 AccountInfo 合并到新表 Members 中(如果可能)。

标签: mysql merge


【解决方案1】:

创建表“成员”,列:id、AccountInfo 的其他列、AccountLogin 的其他列。

然后,就像 Lelio Faieta 说的,INSERT INTO Members SELECT id,AccountInfo ai 的其他列,AccountLogin 的其他列 al FROM AccountInfo ai INNER JOIN AccountLogin al ON (al.id = ai.id)。

此外,如果存在没有匹配 AccountLogin 行的 AccountInfo 行,您可以使用 LEFT JOIN 而不是 INNER JOIN。

披露:我通常使用 Oracle,所以我可能会在 MySQL 上犯错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    相关资源
    最近更新 更多