如何合并列中具有相同值的两个表

Posted

技术标签:

【中文标题】如何合并列中具有相同值的两个表【英文标题】: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 这样的语句,但我无法让它发挥作用。

【问题讨论】:

【参考方案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;

【讨论】:

以上是关于如何合并列中具有相同值的两个表的主要内容,如果未能解决你的问题,请参考以下文章

将列中具有相同值的行合并在一起

如何从两个表中选择同一字段中具有相同值的行?

VBA比较两个列表并删除不同列中具有重复值的行

合并具有相同属性值的json对象c#

如何选择在某列中具有相同值的所有行

Microsoft Access - 合并具有相同字段的多个表