两表查询的问题很简单
oracle 
 表1   
 1   0.05   2006   2007 
 2   0.1      2007   2008     
 表2 
 1         2004 
 2         2005 
 3         2006 
 4         2007   
 需求   
 1         2004       
 2         2005       
 3         2006      0.05    
 4         2007      0.1 
------解决方案--------------------select b.*,a.value from 表1 a right join 表2 b on a.年份=b.年份   
------解决方案--------------------select a.id , a.col1 , isnull(b.col1 ,  ' ') col2 from 表2 a left join 表1 b on a.id = b.id