【问题标题】:How to merge two tables with same values in a column如何合并列中具有相同值的两个表
【发布时间】:2016-10-13 10:24:23
【问题描述】:

我有两张表,Table1 和 Table2。

Table1 具有列“ID”、Date”,Table2 具有列“ID”、“成本”。

现在,我想将这两个表合并到一个新表 Table3 中,其中包含“ID”、“Date”列, “Cost”是CostDate在同一行,在Table2中具有相同的ID和表1。

简而言之,我想将两个表相对于一个列进行粘合,在本例中为“ID”。

我已经研究过像 INSERT INTO TABLE 这样的语句,但我无法让它发挥作用。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    您可以对两个源表之间的连接结果执行插入选择:

    CREATE TABLE table3 AS
    SELECT table1.id AS id, date, cost
    FROM   table1
    JOIN   table2 ON table1.id = table2.id
    

    【讨论】:

    • 我正在对大约 120 万行的数据库执行此查询。它现在已经运行了大约 2 分钟。我希望我没有让服务器崩溃。因为我对数据库管理不太满意。我想在 python 中编写脚本来组合表格。但我认为,这应该比外部脚本更快?
    • 更新:现在已经运行了大约 10 分钟。我应该担心吗? :P 也无法访问数据库。
    • 我重新启动服务器以中断进程,但似乎没有添加任何新表。查询对吗?
    【解决方案2】:

    请使用下面的 SQL 进行合并

    插入 table3 (id, date1, cost) select a.id, b.date1, a.cost from table1 a, table2 b where a.id=b.id;

    【讨论】:

      猜你喜欢
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 2017-04-20
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多