RAMASWAMY EKAMBARAM
Вы можете сделать это на простом SQL (PL / SQL на самом деле не требуется). Исправление (если таковое имеется) к следующему запросу будет минимальным, и вы должны быть в состоянии справиться с ним самостоятельно!
ROW_NUMBER () - это одна из аналитических функций (например, sum (..) over, rank () over, dense_rank () over и т. д.) и не слишком сложная - время, затраченное на обучение, стоит затраченных усилий.
select case slno when 1 then name else '' end name, case slno when 1 then to_char(age) else '' end age, marks
from
(
select name, age, marks, emp_id, row_number() over (partition by emp_id order by mark_id) slno
from
(
select employeename name, a.id emp_id, age, b.id mark_id, marks
from employeemaster a, employeemarks b
where a.id = employeemasterid
)
)
order by emp_id, slno