筛选出每一人的时间最新的一条记录?用SQL语句。感谢大神

有三个表A(姓名 成绩) B(ID 姓名 日期) C (ID 成绩) 其中BC表是记录不同日期的成绩,A表名字不重复,现在要把最近日期的

成绩UPdate到A表。

举例:
A表
张三 0
李四 0

B表
1 张三 2010-10-1
2 李四 2010-10-1
3 李四 2011-10-1
4 张三 2010-12-1

C表
1 80
2 85
3 90
4 85

执行update 后
A表
张三 85
李四 90
update A

set A.成绩=C.成绩
from B inner join C on B.id=C.id

where (A.姓名=B.姓名) 只会这样写,最新时间那不知道怎么补充。

第1个回答  2018-03-19
update A
set A.成绩=C.成绩
where C.成绩=(
select top 1 成绩
from B inner join C on B.id=C.id join A on A.姓名=B.姓名
order by B.日期 desc)本回答被网友采纳