如何在postgres中将两个select语句作为两列 [英] How to make two select statement as two columns in postgres

查看:59
本文介绍了如何在postgres中将两个select语句作为两列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

很简单,但我找不到它.

It's simple yet I am not able to find it.

我有如下三个表

select * from student;

 id1 | name1  
 ----+--------
   1 | ishi 
   2 | sangee


select * from domain;

 id2 | name2  
-----+--------
   1 | python
   2 | scala
   3 | java
   4 | c#

select * from mainpk;

 id1 | id2 
-----+-----
   1 |   1
   1 |   2
   1 |   3
   2 |   3
   2 |   4

我有两个选择语句:

select student.name1 from student join mainpk on student.id1 = mainpk.id1;

结果:

 name1  
--------
 ishi
 ishi
 ishi
 sangee
 sangee

select domain.name2 from domain join mainpk on domain.id2 = mainpk.id2;`**

结果:

 name2  
--------
 python
 scala
 java
 java
 c#

如何将这两列合并为一个表.任何建议都是可以接受的.

How to merge these two columns as a single table. Any advice is acceptable.

预期输出为:

name1  | name2 
-------+-------
ishi   | python  
ishi   | scala  
ishi   | java  
sangee | java
sangee | c# 

推荐答案

Using JOIN with mainpk 表结果输出,以下查询将返回预期结果:

Using JOIN with mainpk table result the output, the following query will return the expected result:

select st.name1, dm.name2
from mainpk ms
join student st on st.id1 = ms.id1 
join domain dm on dm.id2 = ms.id2

请找到关于db<>fiddle的工作演示

这篇关于如何在postgres中将两个select语句作为两列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆