我有一张桌子如下

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

我需要一个输出
   name
----------------
ishi   : python
ishi   : scala
ishi   : java
sangee : java
sangee : c#

如何将两列连成一列并用冒号连接?

最佳答案

随着对previous question's answer的跟踪,使用CONCAT()函数将得到预期的结果:

select CONCAT(st.name1, ' : ', dm.name2) AS name
from mainpk ms
join student st on st.id1 = ms.id1
join domain dm on dm.id2 = ms.id2

或者使用字符串连接运算符||
select st.name1 || ' : ' || dm.name2 AS name
....

关于sql - 如何在postgres中将两列与冒号“:”组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56950843/

10-16 05:52