Мне нужно присоединиться к 2 видам view_a и view_b.
view_a имеет столбцы идентификатор, address1, address2, город, штат, Cntry view_b ID, frst_name, last_name, тип, дата, JOB_TITLEOracle Присоединиться к 2 просмотрам с 5 условиями
желаемого результата
идентификатор, имя, address1, address2, город, штат, Cntry , job_title
Условия для моего запроса:
1. присоединиться к обоим представлениям по столбцу id.
2. Порядок по дате по алфавиту
3. конкатенации first_name и last_name
4. тип равен «сотрудника»
5. Если существует более одного сотрудника затем дают лишь одного сотрудника, т.е., один верхний ряд на основе Дата.
6. Если в нем нет офицера, то для результата имя и столбец job_title имеют значение null.
запрос я использовал:
select
*
from
view_a A
join
(
select
(first_name || ' ' || last_name) as name,
job_title,
id
from
view_b
where
type = 'officer'
and
id is not null
order by date desc fetch first 1 row only
) B
on A.id=B.id
Но этот запрос приносит только один результат. Я использую Oracle 12c. в этих представлениях есть около 800 тыс. записей.
этот запрос работает нормально, но я не получаю записи, если нет типа «Сотрудник», но мне нужно получить записи с этим столбцом как null – CodingFreak
@CodingFreak Исправлено. Попробуйте сейчас? – GurV