Oracle列转行并作为列标题

Oracle查询时想把以下格式

IDJOBNUM
1Q2
1W4
1E3
1R2
2S4
2Q2
2E6

转为

IDQWERS
12432
2264

请问怎样写??(注意JOB内容是从其他表获得,内容不固定,上面表格JOB内容只是示例

如果job的内容确定,可以用pivot语法;如果不确定,Oracle也没办法在sql查询时生成动态列的查询结果。
一般列不固定的话,至少得查两次,第一次对job列去重,得到所有的值,然后再把这些值放到pivot语法中in 后面的括号中去。

select listagg(''''||job||'''',',') within group(order by job) from ( select distinct JOB from table);
---得到字符串 'Q','W','E','R' ,然后带入下面的sql
select * from table pivot (max(num) for job in ('Q','W','E','R' ));

或者也可以尝试使用我这篇文章中的方法

你这个列转行第一列不转,其他的转啊?

主要是转为列后列数也不固定,列名也不固定