sql中,如果有两条一样的数据,根据某个字段的最大值取另一个字段的值怎么写?
需要将表t1的B1字段的值付给t2表的B2,而且t1.D1=t2.A2,并且t1.C1=2000,但是第一条数据和第三条这两点都一样,我需要取的是第三条,也就是最新产生的...
需要将表t1的B1字段的值付给t2表的B2,而且t1.D1=t2.A2 ,并且t1.C1=2000,但是第一条数据和第三条这两点都一样,我需要取的是第三条,也就是最新产生的数据,这个应该怎么写?谢谢各位
例如:
t1
A1 B1 C1 D1
1 一 2000 100
2 二 2001 101
3 三 2000 100
t2
A2 B2
100
101 展开
例如:
t1
A1 B1 C1 D1
1 一 2000 100
2 二 2001 101
3 三 2000 100
t2
A2 B2
100
101 展开
3个回答
展开全部
update c
set B2=b.B1
from
(
select A1=max(A1),D1 from t1 group by D1
) a
inner join t1 b on a.A1=b.A1 and a.D1=b.D1
left join t2 c on a.D1=c.A2
where b.C1=2000
应该行的
set B2=b.B1
from
(
select A1=max(A1),D1 from t1 group by D1
) a
inner join t1 b on a.A1=b.A1 and a.D1=b.D1
left join t2 c on a.D1=c.A2
where b.C1=2000
应该行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写是可以写了,但是性能很低下的。。。你是以哪个字段判断“最新”?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询