我一直试图从我们正在使用的业务系统中获取一些有用的信息。基本上有一个我想用来查询另一个表的表,但在我能够达到目标之前,我需要获得一个帐户的“最新修订版”。
桌子非常大&看起来设计很差,但我目前感兴趣的3个领域是Account,Revision&显示。帐户是帐号,修订版和显示是整数(存储为文本)。虽然结合了账户和账户,但是当时的任何一个都是独一无二的。修改是。 我想要做的是找到每个帐户的最高版本号,&然后使用关联的显示链接到我的其他表。我到目前为止的SQL是:
select account, revision, display
from histhead o
where revision = (
select max(revision)
from histhead
where revision = o.revision)
不幸的是,因为有多个相同值的帐户会带来类似的内容:
account revision display
005598 001 201005 7843
005598 001 310358 17618
005598 002 201005 7844
005598 002 999999 17619
005598 003 201005 7845
005598 003 999999 17620
007475 200810 962
007475 200900 1252
007475 999999 16910
007641 201003 7039
007641 201311 25958
而我真正想要的只是:
account revision display
005598 001 310358 17618
005598 002 999999 17619
005598 003 999999 17620
007475 999999 16910
007641 201311 25958
有人能告诉我怎么做吗?
感谢
标记
答案 0 :(得分:2)
您需要的查询需要与帐号相关联:
select account, revision, display
from histhead hh
where revision = (select max(hh2.revision)
from histhead hh2
where hh2.account = h.account
)