使用PL SQL中的两个表操作句点

时间:2016-07-28 05:40:18

标签: sql oracle

我试图使用两个不同的周期表来操纵期间,并提出一个期间列表。

create table test_tbl1 ( 
department_id number  , 
department_type varchar2,
from_date  date ,
to_date date
) ; 


create table test_tbl2 ( 
employee_id number, 
department_id number  , 
from_date  date ,
to_date date
); 

insert into test_tbl1 values (1 , 'department_type1' ,  '01-jan-1990' , '10-Apr-2010' ) ; 
insert into test_tbl1 values (1 , 'department_type2', '11-Apr-2010' , '31-dec-4712' ) ; 
insert into test_tbl2 values (100, 1 , '01-jan-2009' , '31-dec-4712' ) ; 
insert into test_tbl2 values (100, 1 , '01-jan-2008' , '31-dec-2008' ) ; 

我正在寻找以下输出。

Employee Id | Department Type | form date | to date 
100           department_type1   1/1/2008   4/10/2010
100           department_type2   4/11/2010  12/31/4712

1 个答案:

答案 0 :(得分:0)

这个怎么样:

select b.employee_id ,a.department_type , b.from_date , b.to_date
  from test_tbl1 a ,
       test_tbl2 b
 where a.department_id = b.department_id ;

这不会将句点作为您的示例,因为不清楚与它们相关的逻辑应该是什么。您可以随时添加以下内容: ... GREATEST(a.from_date,b.from_date)...

等,如果需要这种关系。