首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >合并多个表

合并多个表
EN

Stack Overflow用户
提问于 2013-03-19 04:24:31
回答 2查看 45关注 0票数 1

假设有以下三个PostgreSQL表要与公共ID列合并。

代码语言:javascript
运行
复制
table A  
ID V1
2  100
3  200
4  250

table B
ID V2
1  200
3  140

table C
ID V3
2  90
3  100
4  10
5  200

我想将这三个表合并如下:

代码语言:javascript
运行
复制
merged table
ID V1   V2   V3
1       200  
2  100       90
3  200  140  100
4  250       10
5            200

非常感谢您的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-19 05:40:38

由于您只希望id列在结果中出现一次,因此最明显的选择是使用USING子句进行等值连接:

代码语言:javascript
运行
复制
SELECT id, v1, v2, v3
FROM   a 
FULL OUTER JOIN b USING (id)
FULL OUTER JOIN c USING (id)

这样一来,你也完全不需要COALESCE了--它很快就会处理很多表格。

票数 1
EN

Stack Overflow用户

发布于 2013-03-19 04:33:48

代码语言:javascript
运行
复制
    select A.*,B.V2,C.V3
    from 
    A 
    full outer join B on A.id = B.id
    full outer join C on C.id = coalesce(A.id,B.id)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15486208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档