【问题标题】:How to make two select statement as two columns in postgres如何在postgres中将两个select语句作为两列
【发布时间】:2019-07-09 10:08:20
【问题描述】:

这很简单,但我找不到它。

我有如下三张表

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#

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

预期的输出是:

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

【问题讨论】:

    标签: mysql postgresql


    【解决方案1】:

    使用JOINmainpk 表结果输出,以下查询将返回预期结果:

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

    请找working demo on db<>fiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 2021-07-09
      • 1970-01-01
      相关资源
      最近更新 更多