数据库使用PostgreSQL中的表限定符选择所有数据

数据库使用PostgreSQL中的表限定符选择所有数据,sql,postgresql,select,Sql,Postgresql,Select,我需要从数据库中选择一些具有许多列的表。所以我想选择 select t1.*,t2.*,t3.* from table1 t1 left outer join table2 t2 on ... left outer join tabl 3 t3 on ... ... 有些键的名称相同,但由于外部命令的缘故,有时null。不幸的是,我无法直接看到键是来自t1、t2还是t3。是否有机会自动向所有列名添加表名或其他分隔/区分限定符,即t1\u thekey、t2\u thekey、t3\u the

我需要从数据库中选择一些具有许多列的表。所以我想选择

select t1.*,t2.*,t3.*
from table1 t1 
left outer join table2 t2 on ...
left outer join tabl 3 t3 on ...
...

有些键的名称相同,但由于外部命令的缘故,有时
null
。不幸的是,我无法直接看到键是来自t1、t2还是t3。是否有机会自动向所有列名添加表名或其他分隔/区分限定符,即
t1\u thekey、t2\u thekey、t3\u thekey
…?

Postgres不允许您整体重命名列。但是,您可以选择列作为记录,以便查看它们的来源:

select t1, t2, t3

不是自动的。您需要一次一个地重命名每一列。要添加到上面,许多人认为<代码>选择*>代码>是不可取的,因为它的含义随着表中列的数量可能改变而改变。通过明确列出每一列,可以避免这个问题。当我在节点red中使用它时,它会变得更加棘手。因为我得到了一个JSON,所以每个键(=列名)只允许使用一次。这会导致左侧外部表之一中丢失的数据集用null覆盖现有值。由于没有解决方案,我肯定必须手动重命名列。好的,有趣的解决方法。非常感谢。但是这些列名不见了@迈克尔赫特。您有一个记录名,然后在记录中有一个字段名。