首页 > 解决方案 > 从 postgresql 中的两个表创建一个表

问题描述

我的 PostgreSQL 数据库中有两个表(比如说 A 和 B),我想从 A 和 B 的列中创建第三个表。

这是A和B的列

A:             B:

Load_ID        T_ID
M_ID           From
From           To
To             T_type
M_type         T_length
T_type         T_weight
T_length       #Trucks
T_weight       Price
#Trucks        T_rating
Loading_day    Loading_day

第三个表 ( C ) 必须包含两个表中 From、To、T_type、T_length、T_weight、#Trucks 和 Loading_day 相互匹配的所有列。加载日也是一个日期列,我不知道如何比较它们。

我试过这样做(见 pusdo-code):

select columns name from both tables 
from A,B
where  compare columns 

有没有更好的方法来做到这一点?喜欢将它们合并到选定的列上?

标签: sqlpostgresql

解决方案


您正在寻找的是加入(其中一种口味,取决于您想要什么)。如果您想获取仅包含 A 和 B 中这些列相互匹配的条目的表 C,您可以执行以下操作:

SELECT * FROM A a INNER JOIN B b ON a.From = b.from AND a.to = b.to AND ... ;

推荐阅读