select decode(sign(b.date2-a.date1),1,b.work_id2,a.work_id1) from a,b where a.id1=b.id2

解决方案 »

  1.   

    如果只在A表中有,那就是A表的 MAX(DATE1) 对应的WORK_ID1
    如果只在B表中有,那就是A表的 MAX(DATE2) 对应的WORK_ID2
      

  2.   

    garylisa(新扎师弟) 说的没有错!
      

  3.   

    select max(work_id) from (select id,date,work_id from a,b group by id) group by id
      

  4.   

    两个表:table1、 table2
    要查:  id号、最大日期、work_id
    条件:  第一种情况:只在其中一个表中有的id号和其对应的最大日期
                        以及这两个值对应的work_id 
            第二种情况:两个表都有的id号,哪个表的日期大,就取哪个日期
                        以及这两个值对应的work_id
      

  5.   

    select max(work_id) from (select id,date,work_id from a,b group by id) group by date
    刚才写错了
      

  6.   

    select id,date,max(work_id) from (select * from a union select * from b) group by id,date
      

  7.   

    select id,date,work_id from (select * from a union select * from b) group by id where date in (select max(date) from (select * from a union select * from b) group by id):),应该对吧