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 相互匹配的所有列。加载日也是一个日期列,我不知道如何比较它们。
我试过这样做(见 pusdo-code):
select columns name from both tables
from A,B
where compare columns
有没有更好的方法来做到这一点?喜欢将它们合并到选定的列上?
解决方案
您正在寻找的是加入(其中一种口味,取决于您想要什么)。如果您想获取仅包含 A 和 B 中这些列相互匹配的条目的表 C,您可以执行以下操作:
SELECT * FROM A a INNER JOIN B b ON a.From = b.from AND a.to = b.to AND ... ;
推荐阅读
- javascript - 如何克隆 DOM 元素并保持同步?
- sapui5 - 扩大输入建议宽度
- c++ - 我无法弄清楚 .end 函数在这个 cpp 程序中是如何工作的
- jquery - 未选中的复选框仍然在 checkbox.is(":checked") 上返回 true
- python - 使用 BeautifulSoup 和 Selenium 从动态网页中抓取网址的问题
- clang - LLVM 中调用的这种类型的参数是什么?
- android - ViewModel 阻止的片段返回导航
- architecture - Github Review 功能架构
- python - OpenCV 校准 Charuco 板cornerSubPix
- android - 如何在 react-native-alarm-notification 中设置重复警报,例如(星期一,星期二)