从PostgreSQL中的两个表创建一个表

时间:2019-04-16 06:47:05

标签: sql 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彼此匹配。另外,加载日期是一个日期列,我不确定如何比较它们。

我尝试这样做(请参阅pusedo-code):

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

有更好的方法吗?喜欢将它们合并到选定的列上?

2 个答案:

答案 0 :(得分:0)

您可以像下面那样加入和比较-

select A.*, B.* from tableA A inner join tableB B
on A.From=B.To and to=T_type and T_type =T_length 
and others columns...

答案 1 :(得分:0)

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

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