yhxx 表(用户信息表)ywbh hm zz bz
1 张三 济钢 J20503C16584
2 李四 华新 J2.5右表2541C
3 李六 济水苑 J2.5左表36541
4 王麻子 祥和 J2.5右26541
5 洪七公 祥和家园 J2.587696hbjl 表(换表记录表)ywbh bzm rq czy
1 235 2006-05-09 004
1 369 2006-09-14 006
2 365 1999-06-01 004
2 123 2006-02-01 005
4 364 2005-01-01 001
5 100 2006-09-19 003要求:
查找yhxx中的所有信息,如果换表次数超过1次,则只显示最后一次的换表,得到如下的结果ywbh hm zz bz bzm rq
1 张三 济钢 J20503C16584 369 2006-09-14
2 李四 华新 J2.5右表2541C 123 2006-02-01
3 李六 济水苑 J2.5左表36541 Null Null
4 王麻子 祥和 J2.5右26541 364 2005-01-01
5 洪七公 祥和家园 J2.587696 100 2006-09-19小弟多谢了!
1 张三 济钢 J20503C16584
2 李四 华新 J2.5右表2541C
3 李六 济水苑 J2.5左表36541
4 王麻子 祥和 J2.5右26541
5 洪七公 祥和家园 J2.587696hbjl 表(换表记录表)ywbh bzm rq czy
1 235 2006-05-09 004
1 369 2006-09-14 006
2 365 1999-06-01 004
2 123 2006-02-01 005
4 364 2005-01-01 001
5 100 2006-09-19 003要求:
查找yhxx中的所有信息,如果换表次数超过1次,则只显示最后一次的换表,得到如下的结果ywbh hm zz bz bzm rq
1 张三 济钢 J20503C16584 369 2006-09-14
2 李四 华新 J2.5右表2541C 123 2006-02-01
3 李六 济水苑 J2.5左表36541 Null Null
4 王麻子 祥和 J2.5右26541 364 2005-01-01
5 洪七公 祥和家园 J2.587696 100 2006-09-19小弟多谢了!
from yhxx a left join hbjl b
on a.ywbh=b.ywbh
and b.rq=(select max(rq) from hbjl where ywbh=b.ywbh)
from yhxx a
left join
(select ywbh,max(bzm) as bzm,max(rq) as rq from hbjl group by ywbh) b
on a.ywbh = b.ywbh
你的结果应该(没测试)是:ywbh hm zz bz bzm rq
1 张三 济钢 J20503C16584 369 2006-09-14
2 李四 华新 J2.5右表2541C 365 2006-02-01 --这行bzm错了
3 李六 济水苑 J2.5左表36541 Null Null
4 王麻子 祥和 J2.5右26541 364 2005-01-01
5 洪七公 祥和家园 J2.587696 100 2006-09-19
a.*,b.bzm,b.rq
from
yhxx a
left join
hbjl b
on
a.ywbh=b.ywbh
and
not exists(select 1 from hbjl where ywbh=b.ywbh and rq>b.rq)
rea1gz(冒牌realgz V0.3) 非常正确
hellowork(一两清风)的,对日期没有什么影响吧,bzm字段我不要的谢谢!
(select bzm from hbjl where hbjl.ywbh=hbjl.ywbh and rq_=(select max(rq) from hbjl where hbjl.ywbh=hbjl.ywbh ) ),
(select max(rq)from hbjl where hbjl.ywbh=hbjl.ywbh)
from yhxx