日期:2014-05-16  浏览次数:20944 次

这个sql怎么写?
简单描述:
现在有两个表,TB1和TB2,
TB1有COLUMN   C11,   C12,
TB2有COLUMN   C21,   C22;

现在需要   在   TB2.C21   =   TB1.C11,同时把最接近TB1.C12的TB2.C22   ,也就是在   TB1.C12   > =   TB2.C22取最大的TB2.C22
  一起加入到表TB3
这样得到表TB3(C11,   C12,   C22)

我一下午写出来一个语句,执行要10s,还没有检查是否正确!




------解决方案--------------------
select c11,c21,c22
from tb1 t join inner (select c21,max(c22) as c22 from tb2 group by c21) s
on t.c11=s.c21 and t.c12 > =s.c22