【问题标题】:MYSQL: Merge two tables into one, with unionMYSQL:将两张表合并为一张,使用联合
【发布时间】:2013-09-07 00:32:43
【问题描述】:

我必须从另外两个表中创建一个表(并使用联合)。有效的查询是:

SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

现在我要做的就是将此结果(数据)放入 table3(我已经拥有的表,与 table1 和 table2 中的列相同)。

谁能帮帮我?

【问题讨论】:

  • 你试过INSERT吗?

标签: mysql union


【解决方案1】:
INSERT INTO table3 
SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

因为您在所有三个中都有相同的列...

在一般情况下,您应该使用类似的列列表

INSERT INTO table3 (col1, col2, col3)
SELECT col1, col2, col3 FROM tabel1
UNION
SELECT col1, col2, col3 FROM tabel2

这样可以避免auto_increment id-columns 的麻烦。此外,您应该考虑使用UNION ALL,因为UNION 会过滤掉重复的行,因此在大型表上会花费更长的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    相关资源
    最近更新 更多