Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle sql обобщена таблица на заявки

Ето ви:

with w(time, ID, Page) as
(
  select '9:30', 1, 'name1' from dual
  union all
  select '9:30', 1, 'name2' from dual
  union all
  select '9:30', 1, 'name3' from dual
  union all
  select '9:30', 2, 'name4' from dual
  union all
  select '9:30', 2, 'name5' from dual
  union all
  select '7:30', 3, 'name1' from dual
)
select *
from
(
  select w.time, w.id, w.page, row_number() over (partition by w.time, w.id order by w.page) rnk
  from w
)
pivot (max(page) for rnk in (1 as page1, 2 as page2, 3 as page3))
order by 1, 2
;

Това дава:

TIME    ID    PAGE1    PAGE2    PAGE3
7:30    3     name1        
9:30    1     name1    name2    name3
9:30    2     name4    name5    



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изключение за нарушение на ограничение ORA-00001

  2. невалидна стойност за параметър, "директория"

  3. Изберете данни, групирани по време над полунощ

  4. Как да криптирате данни в Oracle с помощта на PL SQL

  5. Тип връщане на курсора на Oracle