PostgreSQL如何对查询结果进行转列

查询结果是这样

图片说明

如何拆分成两行 打到这种效果

图片说明

就是把一行记录拆成两行显示

这个查询结果是由四百多行SQL查出来的

试试直接用 Java 程序对结果解析,定义一个包含 num 和 type 两个字段的实体类 Result,结果保存为一个 List ,伪代码如下:

List<Result> last = new ArrayList<Result>();
while(result.next(){
   1、 获取 type 的值,用 split 拆分 +  号前后的值。
   2、取当前记录的boutique_new_student 列的值作为 num,type 为 split[0]
   3、Result r = new Result(num,type)
     4、加入 last.add(r)
}
last 列表就是最后的数据

没看懂你要表达什么意思,但是拆分成多行的话,几行SQL就可以了

 select boutique_new_student,split_part(type,'+',1) from temp_data_test2
 union all 
 select boutique_continue,split_part(type,'+',2) from temp_data_test2

图片说明

不知道是不是这种效果