Wenn Sie wissen, dass Sie drei Spalten haben, zählen Sie sie auf und aggregieren:
select max(case when seqnum = 1 then type end) as type1,
max(case when seqnum = 1 then date end) as date1,
max(case when seqnum = 1 then amount end) as amount1,
max(case when seqnum = 2 then type end) as type2,
max(case when seqnum = 2 then date end) as date2,
max(case when seqnum = 2 then amount end) as amount2,
max(case when seqnum = 3 then type end) as type3,
max(case when seqnum = 3 then date end) as date3,
max(case when seqnum = 3 then amount end) as amount3
from (select t.*, rownum as seqnum
from t
) t;
Wenn Sie die Anzahl der zurückgegebenen Spalten nicht kennen, müssen Sie dynamisches SQL verwenden (execute immediate
).