sql - 在两个表上进行联合,但重命名 postgres 中可能具有相同名称的列并删除其他列
问题描述
我正在对两个具有相同列名的表进行联合。所以,假设它们看起来像这样:
table1
=========
_id
fk_id
name
details
createdAt
updatedAt
table2
=========
_id
fk_id
name
age
details
createdAt
updatedAt
这是我目前正在做的事情:
SELECT * FROM "table1"
JOIN table2
ON table1."fk_id"=table2."fk_id";
目前我显然得到了重复的列。所以这就是我想要做的:
1- table2 的列name
和details
,我想分别重命名为t1_name
和t2_details
2- 我想删除 table2 的、_id
和fk_id
属性。我怎么做?createdAt
updatedAt
解决方案
只需枚举您要保留的列,并根据需要为它们设置别名:
select
t1._id,
t1.fk_id,
t1.name t1_name,
t1.details t1_details,
t1.createdAt,
t1.updatedAt,
t2.name t2_name,
t2.age,
t2.details t2_details
from table1 t1
inner join table2 t2 on t1.fk_id = t2.fk_id
推荐阅读
- python - 轮渡票务程序 Python
- javascript - React-Redux 组件不反映 Redux Store 中的更改
- java - 配置错误。找不到类 [com.mysql.cj.jdbc.Driver]。EclipseLink,MySQL 驱动程序
- html - 同一页面中的多个视频标签相互交换视频
- c# - 如何防止 Visual Studio 2017 添加对 NugetFallbackFolder 的引用
- excel - VBA循环在一个工作表中查找参考并将单元格数据复制到另一个
- c - ip4 数据包组装为 ip6 - libnet
- c++ - Qt keyPressEvent 处理程序仅在按下 ctrl、alt 或 shift 键时作出反应
- java - 我的 ConstraintLayout 没有出现在我的蓝图中
- javascript - Heroku:端口上已经有东西在运行