You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PostgreSQL中将两个查询结果合并为两列单表

解决方案

其实你完全不需要分开执行两个查询再合并,直接通过三表关联查询就能一次性得到你想要的两列结果,利用mainpk表作为中间关联桥梁就好:

SELECT student.name1, domain.name2
FROM mainpk
JOIN student ON mainpk.id1 = student.id1
JOIN domain ON mainpk.id2 = domain.id2;

为什么这个方法可行?

mainpk表本身就是用来关联student和domain的中间表,每一行的id1和id2刚好对应一个学生和他关联的领域。我们直接以mainpk为基础,分别关联student表拿到学生姓名,关联domain表拿到领域名称,就能自然得到一一对应的两行数据,和你期望的输出完全一致:

name1name2
ishipython
ishiscala
ishijava
sangeejava
sangeec#

如果非要用你之前的两个查询来合并(不推荐,因为多此一举),那你需要给每个查询加一个行号,然后通过行号关联,但这种方法既麻烦又容易出错,远不如直接三表关联高效准确。

内容的提问来源于stack exchange,提问作者ishika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:07:27