【发布时间】:2016-12-19 04:12:10
【问题描述】:
我必须加入 2 个视图 view_a 和 view_b。
view_a 有列 id,address1,address2,city,state,cntry
view_b id,frst_name,last_name,type,date,job_title
想要的结果
id,Name,address1,address2,city,state,cntry,job_title
我的查询条件是:
1. 在 id 列上加入两个视图。
2. 按日期排序
3. 连接名字和姓氏
4. type等于“officer”
5. 如果有不止一名军官,则只产生一名军官,即根据日期的顶行。
6. 如果没有官员,则结果中 name 和 job_title 列的值为空。
我使用过的查询:
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。这些视图中大约有 80 万条记录。
【问题讨论】: