select t.* from T a where t.szdm='01' and sj=(select max(sj) from T where nsrsbh=a.nsrsbh)
呵呵,谢谢楼上的,我找出问题所在了,原来是在not exists里面写漏了一个条件j.szdm='01',改为如下就可以正确得出结果: select t.* from T where t.szdm='01' and not exists(select 1 from t j where t.nsrsbh=j.nsrsbh and j.szdm='01' and t.sj<j.sj)非常感谢大哥! 楼上的大哥的写法也是在括号里面漏写了szdm='01',加上这个条件就可以得出正确结果。 以上全部在ORACLE通过验证!
and sj=(select max(sj) from T where nsrsbh=a.nsrsbh)
select t.* from T where t.szdm='01' and not exists(select 1 from t j where t.nsrsbh=j.nsrsbh and j.szdm='01' and t.sj<j.sj)非常感谢大哥!
楼上的大哥的写法也是在括号里面漏写了szdm='01',加上这个条件就可以得出正确结果。
以上全部在ORACLE通过验证!