表a:
bNo OperateName OperateTime State
1 原始数据 2014-03-01 1
1 增加 2014-03-02 2
1 修改 2014-03-02 3
2 原始数据 2014-03-05 1
2 删除 2014-03-09 4
表b:
bNo iNo OutCount
1 100甲 2
得到结果:
bNo iNo OutCOunt State
1 100甲 2 1
也就是,根据所输入的iNo ,从表a中获取OperateTime 最早的一条记录,和表b关联起来。
------解决方案--------------------
SELECT b.*,c.State FROM b LEFT JOIN a AS c ON b.bNo=c.bNo AND NOT EXISTS(SELECT 1 FROM a WHERE a.bNo=c.bNo AND OperateTime<c.OperateTime)
------解决方案--------------------
select top 1 b.*,a.State FROM b
inner join a on a.bNo = b.bNo
order by a.OperateTime
------解决方案--------------------
select b.bNo,b.iNo,b.OutCount,a.[State]
from 表b b
left join (select row_number() over(partition by bNo order by OperateTime) 'rn',*
from 表a) a on b.bNo=a.bNo and a.rn=1