日期:2014-05-20  浏览次数:20391 次

求一条SQL语句关于 INNER JOIN
有连个表关联别结构如下

a表

        id     fid     name           time
        01       43       ee     2006-12-22
        02       41       qq     2006-12-22
        03       42       88     2006-12-21
b表
        id         aid         sj         time
      guid       01       1111     2006-12-22
      guid       02       1111     2006-12-24
      guid       03       1111     2006-12-22
      guid       03       1111     2006-12-24
------------------------------
a表中用于存放用户信息,b表是对用户信息的审核   a.id=b.aid
当只审批一次的时候   用INNER   JOIN查询一切正常会得到我想要的结果!
可是当审核两次后就回查询出一个以上的结果,能不能在INNER   JOIN的ON中加一个条件取得时间最大的那个得到一条关联的数据啊
--------------------------------------------------
高手请帮帮了


------解决方案--------------------
select top 1 ...................order by b.time desc
------解决方案--------------------
select a1.*
from a a1
inner join b b1 on a1.id=b1.aid
where b1.time = (select max(b2.time) from b b2 where b1.id=b2.id and b1.aid=b2.aid )