Udara Eshan Ariyarathne Ответов: 2

Oracle PL SQL select query with join two tables


У меня есть две таблицы в Oracle, EmployeeMaster и EmployeeMarks,

я хочу написать SQl-запрос для получения результата, как показано ниже snap shot,

Смотреть

Что я уже пробовал:

я сделал с подзапросом но не работает

2 Ответов

Рейтинг:
2

CPallini

Пришло время узнать, как работают соединения, см., например: Oracle / PLSQL: соединения[^].


Рейтинг:
0

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