表1
机构号 值
100 21
200 35
300 34
表2
机构号 区间 值
100 1 20
100 2 20
200 1 30
200 3 30
300 3 28
300 4 28
300 5 28
表结构如上,如何更新每个机构号下的随机一个区间的值更新为表1的值,只更新一个区间,结果表如下
机构号 区间 值
100 1 20
100 2 21
200 1 35
200 3 30
300 3 28
300 4 28
300 5 34
update 表2 a
set a.值 = (select b.值 from 表1 b where a.机构号 = b.机构号)
where a.区间 = (select max(c.区间) from 表2 c where a.机构号 = c.机构号 group by c.机构号)
这个可以简单实现你的问题,如果表数据量大的话性能可能不太好。