如何合并列中具有相同值的两个表
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”是Cost和Date在同一行,在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;
【讨论】:
以上是关于如何合并列中具有相同值的两个表的主要内容,如果未能解决你的问题,请参考以下文章