有两个表:(tep 和 tmp)
 tep有字段: id      name     type         time   
              1      test     设计   2009-6-16 15:42:27
              2      test     其他   2009-6-17 18:42:27
              
 tmp有字段: id      name     filename         time   
              1      test       B1      2009-6-16 15:42:27
              2      test       B2      2009-6-16 18:42:27
              3      test       B4      2009-6-16 18:42:27
              
 要的查询结果:name      filename    type       time
               test       B1         设计   2009-6-16 15:42:27
               test       B2         设计   2009-6-16 18:42:27
               test       B4         设计   2009-6-16 18:42:27
(两个表的id不相同,用name和time关联)

解决方案 »

  1.   

    select a.name,b.filename,a.type,a.time 
    from tep a,tmp b
    where a.name=b.name and a.time=b.time
      

  2.   

    这样不行,type为空,因为两个表的时间不是完全相等的(时分秒不一定相等)
      

  3.   

    time是什么类型的,
    日期型的话这样写
    select a.name,b.filename,a.type,a.time 
    from tep a,tmp b
    where a.name=b.name 
    and to_char(a.time,'yyyymmdd')=to_char(b.time,'yyyymmdd')
      

  4.   

    字符型的话这样
    select a.name,b.filename,a.type,a.time 
    from tep a,tmp b
    where a.name=b.name 
    and substr(a.time,instr(a.time,' '))=substr(b.time,instr(b.time,' '))
      

  5.   

    楼上各位是否注意到
    2      test    其他  2009-6-17 18:42:27 楼主应该没有弄错吧这样的话可能tep表类似日程表
    select tmp.*,
     (select type from tep a where (name,time)
       in (select b.name,max(b.time) from tep b where b.name=tmp.name and b.time<=tmp.time)
     )as type
    from tmp