gpt4 book ai didi

postgresql - 在 postgres 中使用 union 从 Union 两个表创建一个新表

转载 作者:行者123 更新时间:2023-11-29 12:09:24 30 4
gpt4 key购买 nike

我想创建一个新表作为两个表的联合的结果,没有重复项。我在 stackoverflow 中进行了搜索,发现一个问题正是我想要的,但使用的是 mysql Create a new table from merging two tables with union .

mysql中的解决方案

CREATE TABLE new_table
SELECT * FROM table1
UNION
SELECT * FROM table2;

我试图做类似的事情,但我得到了:

SQL error.

如果可能的话,我想用类似于 mysql 的语句来实现。

我知道如果你先用我想要的字段创建一个新表。我可以通过这些表的并集对该表进行选择。如果没有其他选择,那么我必须做这样的事情。

但总而言之,如果可能的话,在 postgres 中使用 mysql 做一些类似于问题的事情。我想使用语法糖来做到这一点

提前致谢

更新

为了澄清我有两个结构相同的表

TABLE1(id,field1,field2,field3)
TABLE2(id,field1,field2,field3)

还有我想要的 table

TABLE3(id,field1,field2,field3)

注意我试过了

CREATE TABLE new_table as
SELECT * FROM table1
UNION
SELECT * FROM table2;

它有效,但没有将字段放在正确的位置,例如将表 1 的字段 3 放在 table_result 的字段 1 中

最佳答案

您缺少 AS 关键字:

CREATE TABLE new_table
<b>AS</b>
SELECT * FROM table1
UNION
SELECT * FROM table2;

如果您需要特定顺序的列,请在选择中指定它们:

CREATE TABLE new_table
AS
SELECT id, column1, column2, column3
FROM table1
UNION
SELECT id, column1, column2, column3
FROM table2;

手册中的更多详细信息:
https://www.postgresql.org/docs/current/static/sql-createtableas.html

关于postgresql - 在 postgres 中使用 union 从 Union 两个表创建一个新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44576537/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com