在 PostgreSQL 中,如果两张表没有关联关系,但你希望将它们的字段合并成一张新表,并且这两张表的字段名称不同,你可以创建一个新表并分别为每个表的每一列指定列名。假设你有以下两张表:
Table1
- columnA
- columnB
- columnC
Table2
- fieldX
- fieldY
- fieldZ
要将它们的字段合并到一个新表中,可以这样操作:
CREATE TABLE new_table AS
SELECT
columnA AS combinedA,
columnB AS combinedB,
columnC AS combinedC,
NULL AS fieldX,
NULL AS fieldY,
NULL AS fieldZ
FROM table1
UNION ALL
SELECT
NULL AS combinedA,
NULL AS combinedB,
NULL AS combinedC,
fieldX,
fieldY,
fieldZ
FROM table2;
这种方式会创建一个新的表,其中包含所有原始表的列(即使某些列在另一张表中不存在)。由于两张表没有关联关系,对于不存在的对应列我们填充 NULL
值。
然而,请注意这种方法在实际场景下可能并不常见或有用,因为它生成的数据集可能不具有业务意义。在没有关联性的情况下合并表通常需要明确的目标和对数据含义的理解,以确保合并后的新表结构有意义。